我有一个带行的表格:
ID CountryCode Status
----------- ----------- -----------
2 PL 1
3 PL 2
4 EN 1
5 EN 1
并通过查询
SELECT *
FROM [TestTable]
WHERE Status = 1 AND CountryCode NOT IN (SELECT CountryCode
FROM [TestTable]
WHERE Status != 1)
我获取所有状态值不等于2的国家代码。
ID CountryCode Status
----------- ----------- -----------
4 EN 1
5 EN 1
我认为这个查询可以更简单明了。
我该如何修改它?
最好的问候
编辑
PL不能出现在结果中,因为有一个状态为2的记录。
编辑
创建和填充表的脚本:
USE [DatabaseName]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TestTable](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CountryCode] [nvarchar](2) NOT NULL,
[Status] [int] NOT NULL
) ON [PRIMARY]
INSERT INTO dbo.TestTable
( CountryCode, Status )
VALUES ( 'PL', -- CountryCode - nvarchar(2)
1 -- Status - int
)
INSERT INTO dbo.TestTable
( CountryCode, Status )
VALUES ( 'PL', -- CountryCode - nvarchar(2)
2 -- Status - int
)
INSERT INTO dbo.TestTable
( CountryCode, Status )
VALUES ( 'EN', -- CountryCode - nvarchar(2)
1 -- Status - int
)
INSERT INTO dbo.TestTable
( CountryCode, Status )
VALUES ( 'EN', -- CountryCode - nvarchar(2)
1 -- Status - int
)