Общие > Базы данных

хитрый SQL

(1/2) > >>

Kubik:
Помогите написать 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,c2,c3 в таблице spisok являются указателями на id в info
в итоге надо получить результируюшую выбору
| 1|xxx1|
| 3|xxx1|
| 3|xxx1|
| 4|xxx2|
| 5|xxx3|
| 5|xxx1|

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

Chs:

--- Цитировать ---можно ли такое сделать одним SQL запросом?

--- Конец цитаты ---

Можно. Тройной LEFT JOIN, но лучше сделать последовательно тремя запросами.

Kubik:
Спасибо за ответ. Можно привести пример? Кстити, у меня этих c1,c2,c3...,c16, но можно и для трех.

Chs:

--- Цитировать ---Спасибо за ответ. Можно привести пример? Кстити, у меня этих c1,c2,c3...,c16, но можно и для трех.

--- Конец цитаты ---

select a.id,b.name from spisok as a left join info as b on a.c1 = b.id
select a.id,b.name from spisok as a left join info as b on a.c2 = b.id
и т.д.

Kubik:
дык это очевидно. мне то надо одним запросом без UNION и других отсутствующих в MySQL 3.x прибомбасов!!!

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии