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)
如果 table0 中“product”的值为 1,则我需要连接表为 table1;如果 table0 中“product”值为 2,则连接表为 table2。
当我尝试上面的例子时,我只得到 mysql 语法错误。我也尝试过使用 CASE 语句而不是 IF 但仍然不起作用。
最佳答案
我认为在这种情况下,子选择将是比 JOIN
更好的解决方案。您可以使用包含 SELECT
的 CASE
语句。
关于mysql - 根据字段值更改mysql表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4713395/