2010-10-03 57 views
1

相比较我有三列的表,我取,其值与值“AAAA”和“BBBB”查询一栏,以防止两个值

columnA   ColumnB  ColumnC 
data1   yyyy   aaaa 
data2   zzzz   mmmm 
data1   hhhh   nnnn 
data3   aaaa   bbbb 

所以相匹配的列,如果我查询与“选择*从above.table其中ColumnA ='aaaa'和ColumnA ='bbbb';”我的答案是'没有选择行'!我会犯一个错误?

感谢,

回答

2

想一想吧。您正在执行AND操作,期望一列匹配两个不同的值(X = 1 AND X = 2)。它从来不会发生在逻辑上。我怀疑你想要一个OR。

select * 
    from YourTable 
    where ColumnA = 'aaaa' OR ColumnA = 'bbbb' 
2

这是因为一列不能在同一时间两个值 - 你需要使用一个OR:

SELECT * 
    FROM YOUR_TABLE 
WHERE (columnc = 'aaaa' 
    OR columnc = 'bbbb') 

一个可选的语法是IN子句:

SELECT * 
    FROM YOUR_TABLE 
WHERE columnc IN ('aaaa','bbbb')