Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Вниз

Фильтрация в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
14-1087802855
Layner
2004-06-21 11:27
2004.07.11
Скандалы вокруг трансплантологии..


6-1084556961
xman
2004-05-14 21:49
2004.07.11
Sockets


3-1086763950
Петр
2004-06-09 10:52
2004.07.11
Создание файла базы данных InterBase с помощью TIBDataBase.


4-1085918281
Ivolg
2004-05-30 15:58
2004.07.11
О компе


9-1079372701
Servelat
2004-03-15 20:45
2004.07.11
Как выключить screensaver





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский