Изменить соединение таблицы MySQL на основе значения поля - PullRequest
0 голосов
/ 17 января 2011

Возможно ли в MySQL изменить JOIN таблицы, основываясь на том, что находится в определенном поле записи?

Пример:

SELECT 
CASE table0.status
WHEN 1 THEN table1.id
WHEN 2 THEN table2.id
END
FROM 
table0, table1, table2
IF (table0.status = 1, INNER JOIN queue ON table1.id = table0.product, INNER JOIN queue ON table2.id = table0.product)

Мне нужно, чтобы объединенная таблица былаtable1, если значение для «product» в table0 = 1 или table2, если значение для «product» в table0 равно 2.

Когда я пробую приведенный выше пример, я получаю только синтаксические ошибки mysql.Я также попробовал это с оператором CASE вместо IF, но все еще не работает.

1 Ответ

1 голос
/ 17 января 2011

Я думаю, что подвыбор будет лучшим решением, чем JOIN в этом случае. Вы можете использовать оператор CASE с SELECT внутри него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...