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

Вниз

хитрый SQL   Найти похожие ветки 

 
kubik ©   (2002-04-19 00:10) [0]

Помогите написать SQL запрос для:
есть две таблици:
spisok info
|--|--|--|--| |--|----|
|id|c1|c2|c3| |id|name|
|--|--|--|--| |--|----|
| 1| 1| 0| 0| | 1|xxx1|
| 2| 0| 0| 0| | 2|xxx2|
| 3| 1| 1| 0| | 3|xxx3|
| 4| 2| 0| 0| | 4|xxx4|
| 5| 3| 0| 1| | 5|xxx5|
|--|--|--|--| |--|----|
поля c1,2,c3 в таблице spisok являются указателями на id в info
в итоге надо получить результируюшую выбору
| 1|xxx1|
| 3|xxx1|
| 3|xxx1|
| 4|xxx2|
| 5|xxx3|
| 5|xxx1|

можно ли такое сделать одним SQL запросом? мысли шлите на serg@ens.ru


 
Mambet   (2002-04-19 05:02) [1]

Попробуй так.

SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C1=Info.ID
UNION ALL
SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C2=Info.ID
UNION ALL
SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C3=Info.ID


 
Ph.D.Kot ©   (2002-04-19 10:29) [2]

а лучше еще так:
select Spisok.ID, Info.Name from (
SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C1=Info.ID
UNION ALL
SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C2=Info.ID
UNION ALL
SELECT Spisok.ID, Info.Name FROM Spisok,Info WHERE Spisok.C3=Info.ID
) ORDER BY Spisok.ID



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
6-50072
MK
2002-03-05 01:52
2002.05.16
Как прикрепить файл к письму?


6-50077
Витамин
2002-03-01 17:26
2002.05.16
Как написать DNS-сервер?


3-49825
DenK_vrtz
2002-04-12 13:35
2002.05.16
Не могу запустить инсталляцию Oracle 8.1.6.


14-50089
LazorenkoX
2002-04-04 22:09
2002.05.16
Linux


14-50082
zarum
2002-04-04 14:50
2002.05.16
чем бы побыстрее сделать .chm - файл // в общем, кто что использ