我想在 SQL 查询的 WHERE 子句中使用 IF 条件。但比较应该来自另一个表的列。简单来说,我的伪代码是这样的:
SELECT * FROM TABLE1
WHERE
(if DATE from TABLE2 = 0000 then select ID from TABLE2 as TABLE1.ID
else if ID from TABLE2 = 00 then select DATE from table2 as TABLE1.DATE)
感谢您的帮助。
最佳答案
您的伪代码非常模糊,但据我了解,类似这样的代码应该有效:
SELECT TABLE1.*
FROM TABLE1
INNER JOIN TABLE2
ON (TABLE2.DATE = '0000' AND TABLE1.ID = TABLE2.ID)
OR (TABLE2.ID = '00' AND TABLE2.DATE = TABLE1.DATE)
参见this fiddle .
关于mysql - SQL Where 子句中的 If/Else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37249515/