我在mysql数据库中有两个数据库列,A和B. 在select查询中,我想实现这个逻辑:
选择A为'X'的行。 如果A未连续设置,则仅在列B ='Y'时检查并选择行。
因此可以说B列是A列的后备。
如何构造一个带有'X'和'Y'的SELECT查询作为WHERE子句的输入?
答案 0 :(得分:7)
使用布尔逻辑:
SELECT *
FROM table
WHERE A = 'X' OR (A IS NULL AND B = 'Y')
答案 1 :(得分:2)
我认为这应该有效:
SELECT * FROM table
WHERE (A='X') OR ((A IS NULL) AND (B='Y'))
答案 2 :(得分:2)
SELECT * FROM table WHERE A='X' OR (A IS NULL AND B='Y')