Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / хитрый запрос на выборку / 3 сообщений из 3, страница 1 из 1
02.10.2002, 21:24
    #32054978
NewMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрый запрос на выборку
Есть две таблицы (Tbl1):
Одна главная - в ней хранятся данные, а также номера описаний. Т.е.
в ней есть несколько полей типа INT (fld1, fld2, fld3). Каждое поле является номером
строки во второй таблице.
Вторая таблица(Tbl2) имеет простую структуру - два поля: ID и текстовое
значение(Desc). ID является номером строки с которым связаны поля из
первой таблицы.
Если делать просто SELECT * FROM Tbl1; то получаем набор чисел fld1,
fld2 и т.п. А хочется что бы вместо них подставлялось значение поля
Desc из Tbl2 с соответствующим ID.
Чувствую что тут нужно использовать JOIN а вот как не знаю :)

Вот такой вариант работает
SELECT * FROM Tbl1 LEFT JOIN Tbl2 ON Tbl1.fld1=Tbl2.ID;

но хочется большего :)
Делаю вот так
SELECT * FROM Tbl1 LEFT JOIN Tbl2 ON Tbl1.fld1=Tbl2.ID LEFT JOIN
Tbl2 ON Tbl1.fld2=Tbl2.ID;

В чем я неправ?
И вообще возможно то что я хочу сделать одним SQL запросом?
...
Рейтинг: 0 / 0
02.10.2002, 23:07
    #32055001
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрый запрос на выборку
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
SELCT a.field1, b.field1, c.field1
FROM tbl1 a, tbl2 b, tbl2 c
WHERE
b.field2=a.field1
AND
c.field1=b.field2

Названия полей подставь сам - времени нету! Если, что завтра отвечу более подробно!
...
Рейтинг: 0 / 0
03.10.2002, 09:26
    #32055027
NewMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрый запрос на выборку
Спасибо за помощь. Дело действительно оказалось, как мне подсказали, в расстановке алиасов. И нужный мне запрос выглядит примерно так:

SELECT * FROM Tbl1 LEFT JOIN Tbl2 t1 ON Tbl1.fld1=t1.ID
LEFT JOIN Tbl2 t2 ON Tbl1.fld2=t2.ID

и т.д
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / хитрый запрос на выборку / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]