Select 如何从一个表中选择另一个表中没有匹配行(但有多个)的表

Select 如何从一个表中选择另一个表中没有匹配行(但有多个)的表,select,join,Select,Join,我试过这个: SELECT * FROM svc00100 WHERE NOT EXISTS (SELECT * FROM svc00101 WHERE TECHSTAT = 'INA' AND svc00100.TECHID = svc00101.TECHID) 我想从svc00100中选择行,但如果svc00101中有一行具有相同的TECHID且TE

我试过这个:

SELECT *
FROM   svc00100
WHERE  NOT EXISTS (SELECT *
                   FROM   svc00101
                   WHERE  TECHSTAT = 'INA'
                          AND svc00100.TECHID = svc00101.TECHID) 

我想从svc00100中选择行,但如果svc00101中有一行具有相同的TECHID且TECHSTAT='INA',则不选择。但是,SVC000101中有多行TECHID匹配,一些行具有“INA”,另一些行具有其他内容。我想消除/忽略SVC000101中有TECHID和techstat的“INA”行的任何TECHID。如果有帮助的话,请使用SQL server。

您可以使用left-outer-join和Where子句。像这样:

select svc00100.* from svc00100 
left outer join svc00101 on TECHSTAT = "INA" 
                            and svc00100.TECHID = svc00101.TECHID 
where svc00101.KEY is null

您应该传递NOTNULL列的名称,而不是键。例如主键。

您的查询有什么问题?看起来很好