假设我有
ID | Column 1 | Column 2
2 | NULL | "a"
3 | "b" | NULL
4 | "c" | "c"
我想写的是这样的:
SELECT ID FROM table, AnotherTable
WHERE (Table.Column1 = AnotherTable.Column IF Table.Column1 IS NOT NULL
OR Table.Column2 = AnotherTable.Column IF Table.Column2 IS NOT NULL)
编辑:我还添加了案例 IF Table.Column1 IS NOT NULL AND Table.Column2 IS NOT NULL THEN CHOOSE Table.Column2 = AnotherTable.Column
最佳答案
您可以使用 COALESCE()
功能:
SELECT ID
FROM table JOIN AnotherTable
ON AnotherTable.Column = COALESCE(table.Column1, table.Column2)
关于mysql - 当一列为 NULL 时带有条件的 WHERE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993880/