2011-01-17 3 views
0

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

Пример:

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) 

мне нужно присоединяемой таблицы, чтобы быть таблица1, если значение «продукта» в Table0 = 1 или table2 если значение «продукта» в Table0 равно 2.

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

ответ

1

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

Смежные вопросы