powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / хитрый запрос на выборку
3 сообщений из 3, страница 1 из 1
хитрый запрос на выборку
    #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
хитрый запрос на выборку
    #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
хитрый запрос на выборку
    #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
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / хитрый запрос на выборку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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