2012-11-01 55 views
5

我想基于表中的key_column获取数据。我有一个程序,我通过关键字符。如果密钥为'A',则只有那些键为'A'的记录才能被选中。对于除“A”以外的任何其他关键角色,我需要除与key_Column值的行中的所有记录“A”要求在哪里条件SQL

示例代码:

select * from tab1 
where 
if (@key_Char = 'A') Then [email protected]_Char 
ELSE key_Column <>@key_Char 
+0

并非所有的SQL产品支持这种(因此把它在一个评论):'WHERE(key_column = 'A')=(@key_char = 'A')'。 –

回答

4

你可以试试这个

select * from tab1 
where (@key_Char = 'A' AND key_Column='A') OR 
     (@key_Char <> 'A' AND key_Column <> 'A') 
+0

我在删除它的时候编辑过,希望没关系。我看到你在同一时间删除它。如果支持,我认为'XOR'在这里可以很好地工作。 – Kobi

+0

看起来像正确的答案。 – hazimdikenli

+0

谢谢大家..它看起来很有效.. – nandyec28

3

尝试:

WHERE (@key_char = 'A' AND key_column = 'A') OR (@key_char <>'A' AND key_column <>'A') 
+0

对不起,冗余答案,花了太长时间来编辑android选项卡:( – ARA