Выборка данных двух столбцов таблицы с разными условиями по другой таблице
Всем привет! Второй день пытаюсь написать запрос один SELECT запрос к таблице. Есть таблица которая "Menu", которая содержит id нескольких блюд на день.
id | dayOfWeek | first | firstPrice | second | secondPrice
----------------------------------------------------------
1 | 0 | 2 | 70 | 3 | 50
2 | 1 | 1 | 60 | 2 | 70
И есть таблица "Courses", которая содержит название блюда и его id.
id | name
---------
1 | fish
2 | chiken
3 | beef
И соответственно мне нужно вывести вот примерно такую таблицу: where dayOfWeek = 0
first | firstPrice | second | secondPrice
-----------------------------------------
chiken| 70 | beef | 50
т.е. заменить id на название из второй таблицы. Думаю, что тут нужен либо цикл, либо джойнить, но как это делать в одной таблице по одному столбцу, разобраться не получается!
Ответы (1 шт):
Если с одной таблицей нужно соединиться несколько раз, то делается несколько JOIN, а таблицам даются разные псевдонимы. В данном случае F для first и S для second.
SELECT
F.name as first,
M.firstPrice,
S.name as second,
M.secondPrice
FROM menu M
JOIN Courses F on F.id = M.first
JOIN Courses S on S.id = M.second
WHERE уже сами допишите.
PS использован синтаксис Microsoft SQL Server, так как он тоже указан в тегах.