virakochi
Устал
Помогите с JOIN- запросом
Помогите составить JOIN-запрос.
table1, table2
В table2 строка аттрибутов записи из table1
Суть такова: если в table2 нет соответствующей записи для записи из table1, нужно выбрать, иначе нужно проверить состояние аттрибутов и исходя из этого выбрать или нет.
Пытаюсь что-то подобное:
Первая часть условия отрабатывает так как надо, если же нужно по второй части условия, то из table2 выбираются все записи и соединение идет по всем, а необходимо соединять по одной как бы фиктивной.
Спасибо за помощь.
-~{}~ 10.08.05 15:13:
Если хотите, кидайте в меня тухлыми яйцами, но нашел ужасающее по виду, но тем не менее работающее решение:
Помогите составить JOIN-запрос.
table1, table2
В table2 строка аттрибутов записи из table1
Суть такова: если в table2 нет соответствующей записи для записи из table1, нужно выбрать, иначе нужно проверить состояние аттрибутов и исходя из этого выбрать или нет.
Пытаюсь что-то подобное:
Код:
SELECT a.*
FROM table1 a
INNER JOIN table2 b ON
IF (EXISTS(SELECT * FROM table2 k WHERE k.table1_id = a.id),
b.attribute = 1,
1)
Спасибо за помощь.
-~{}~ 10.08.05 15:13:
Если хотите, кидайте в меня тухлыми яйцами, но нашел ужасающее по виду, но тем не менее работающее решение:
Код:
SELECT a.*
FROM table1 a
INNER JOIN
(SELECT aa.table1_id AS 'table1_id', IF (bb.attribute IS NULL, 1, bb.attribute) AS 'attribute'
FROM table1 aa
LEFT JOIN table2 bb ON aa.table1_id = bb.table1_id) ON b.attribute = 1