mysql - SQL Where 子句中的 If/Else

标签 mysql sql sql-server stored-procedures where-clause

我想在 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/

相关文章:

SQL使用表自连接计算百分比

MySQL 5.1.61 - 基于两个单独的表更新表

php - 如何在不使用 CodeIgniter 中的输入的情况下一次插入多行?

c# - 调用时SSIS包将不会执行

sql-server - SQL Server - 表元数据

sql - 比较两个数据库

php - 使用 Div 显示 MySql 数据

php - 调用非对象成员函数

sql - 在 select 中添加 "-"而不是空格

mysql - 如何将表与行值条件连接?