build where子句仅在第一个子句满足时验证

时间:2015-03-30 19:22:41

标签: sql join where-clause

我有以下sql select:

select ...
from table1 a, table2 b
where 
a.column = 'ABC' and
a.column2 = b.column2

我想只检查a.column2 = b.column2a.column = 'ABC'是否{{1}}。 我该怎么做?

由于

2 个答案:

答案 0 :(得分:1)

我不确定你的问号标签,如果你试图找出如何使用JOIN专门做这个(而不是你用WHERE子句如何做到这一点),但无论如何 - 有几种方法:

1) - with WHERE子句

select ...
from 
   table1 a

   INNER JOIN table2 b
   ON a.column2 = b.column2

where 
   a.column = 'ABC'

2) - 无论何处使用

select ...
from 
   table1 a

   INNER JOIN table2 b
   ON a.column2 = b.column2
   AND a.column = 'ABC'

答案 1 :(得分:-1)

试试这个。只有当列为' ABC':

时,它才会检查第2列
 select ...
 from table1 a, table2 b
 where 
 (a.column = 'ABC' and
 a.column2 = b.column2) or a.column <> 'ABC'