Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Фильтрация в union all   Найти похожие ветки 

 
Karlson   (2004-06-12 17:10) [0]

Добрый день!
Возникла следующая проблема. Есть три таблицы: а, b, с.
а: id, name
b: id, name
c: id, id_a, id_b,
таблицы а и b связаны между собой таблицей с, при чем в таблице с фиксируются все id из b, а
если элемент не имеет связи с а, то ставим Null.
Например,
а:
id name
1 кот
2 мышь
3 собака

b:
id name
1 мясо
2 хлеб
3 яблоко

с:
id id_а id_b
1 1 1
2 3 1
3 2 2
4 Null 3

Делаю выборку с union all для выбора всей информации из b и а.
Возникла необходимость отфильтровать записи по конкретному name из а, но выборка возвращает
отфильтрованную первую часть и все остальное, что выбирает после uniona.
Как отфильтровать только по имени?
Заранее спасибо!!!


 
Sandman25 ©   (2004-06-14 09:22) [1]

select a.name, b.name
 from a, b, c
 where c.id_a = a.id
   and c.id_b = b.id
   and a.name like "%к%"

union зачем?


 
ЮЮ ©   (2004-06-15 05:01) [2]

>Sandman25 ©   (14.06.04 09:22) [1]
>а если элемент не имеет связи с а, то ставим Null.

Тогда уж
 SELECT c.*, a.name a_name, b.name b_name
 FROM
   c
   LEFT JOIN a ON c.id_a = a.id
   LEFT JOIN b ON c.id_b = b.id
 WHERE
   a.name like "%к%"



Страницы: 1 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1088167974
BBoost
2004-06-25 16:52
2004.07.11
Управление курсором в Edit е


6-1084770253
Graf
2004-05-17 09:04
2004.07.11
Работа TCP под ДОС


14-1087822487
_none_
2004-06-21 16:54
2004.07.11
объяснительная записка


6-1084463903
Nic2
2004-05-13 19:58
2004.07.11
Чтение потока из сокета


8-1082884490
Menel
2004-04-25 13:14
2004.07.11
Отображение окружности с выделенными точками на ней...