我有以下sql选择:
select ...
from table1 a, table2 b
where
a.column = 'ABC' and
a.column2 = b.column2
我只想在a.column = 'ABC'
时检查是否为a.column2 = b.column2
。我该怎么做?
感谢
我不确定您的问号是否正试图弄清楚如何使用JOIN来实现这一点(而不是如何使用WHERE子句),但无论如何——有几种方法:
1) --带有WHERE子句
select ...
from
table1 a
INNER JOIN table2 b
ON a.column2 = b.column2
where
a.column = 'ABC'
2) --不带WHERE子句
select ...
from
table1 a
INNER JOIN table2 b
ON a.column2 = b.column2
AND a.column = 'ABC'
试试这个。只有当列为"ABC"时,它才会检查列2:
select ...
from table1 a, table2 b
where
(a.column = 'ABC' and
a.column2 = b.column2) or a.column <> 'ABC'