Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择代码不等于X的ID_Sql_Sql Server - Fatal编程技术网

Sql 选择代码不等于X的ID

Sql 选择代码不等于X的ID,sql,sql-server,Sql,Sql Server,我有一个ID列表和一个代码列表。关系是1:多。一个ID可以有多个代码。我想选择任何不等于3的ID,但如果它们包含3,同时也等于其他值,我确实想选择ID 例如: ID:代码: A 1,2,4 B 1,2,3 C3 我想选择代码A,因为它不包含3。 我想选择代码B,因为虽然它包含3,但它也包含不等于3的内容。 我不想要代码C,因为它只包含3个 我尝试选择的ID与'3'不同,但显然这排除了我希望包含其他代码的ID select ID from table where ID n

我有一个ID列表和一个代码列表。关系是1:多。一个ID可以有多个代码。我想选择任何不等于3的ID,但如果它们包含3,同时也等于其他值,我确实想选择ID

例如: ID:代码: A 1,2,4 B 1,2,3 C3

我想选择代码A,因为它不包含3。 我想选择代码B,因为虽然它包含3,但它也包含不等于3的内容。 我不想要代码C,因为它只包含3个

我尝试选择的ID与'3'不同,但显然这排除了我希望包含其他代码的ID

    select ID
    from table 
    where ID not in (
                       select ID 
                       from table
                       where code like '3'
                     )

据我所知,你想要的身份证不全是“3”

select distinct id
from t
where code <> '3';
如果要保留原始行,请执行以下操作:

select t.*
from t
where exists (select 1 from t t2 where t2.id = t.id and t2.code <> '3');

我相信这仍然排除了代码为“3”的ID以及其他内容。如果它包含“2”和“3”,我想保留它