繁体   English   中英

根据字段值更改mysql表联接

[英]Change mysql table join based on field value

在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,或者如果table0中'product'的值是2,则table2是连接表。

当我尝试上面的例子时,我只会得到mysql语法错误。 Ive也使用CASE语句而不是IF进行了尝试,但仍然无法正常工作。

我认为在这种情况下,子选择将是比JOIN更好的解决方案。 您可以在CASE语句中使用SELECT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM