1

我有一个这样的选择查询

SELECT * FROM table WHERE id = ?

我需要一个排除特定结果的条件。 if(type = 'tv' and that type's code = '123') 然后从选择结果中排除该行。由于我的 SQL 技能不是很强,我不知道如何做到这一点。

4

4 回答 4

8
SELECT * FROM table WHERE  id = ? AND not(type = 'tv' and code = '123')

这是你要找的吗?

type <> 'tv' and code <> '123' 和 之间有区别 not(type = 'tv' and code = '123')

于 2013-08-01T10:19:51.173 回答
0

尝试这个

     SELECT * FROM table WHERE  id = ? and (type <> 'tv' or code <> 123)
于 2013-08-01T10:15:29.713 回答
0
select *  from tbl where id = 1 and (type <> "abc" or code <> "123");

http://sqlfiddle.com/#!2/7dc49/2

于 2013-08-01T10:25:19.940 回答
0

以下是针对您的问题的示例查询。如果您的表的列名称为 - 类型(VARCHAR 或 VARCHAR2 或 CHAR)和代码(VARCHAR 或 VARCHAR2 或 CHAR)

SELECT * FROM <table-name> WHERE type NOT IN ('tv') AND code NOT IN ('123');

于 2013-08-01T10:28:38.207 回答