如何在列必须匹配所有值的情况下执行SELECT?

问题描述 投票:1回答:1

考虑一个包含3列的表:

CREATE TABLE myTable (
ItemName nvarchar(100),
ItemRank int,
ItemLoc nvarchar(100))

表格的示例输出(下面插入的查询)

SELECT * FROM myTable
  1. Item1,1,LocA
  2. Item1,2,LocB
  3. Item1,3,LocC
  4. Item 2,1,LocA
  5. Item2,2,LocC
  6. Item3,1,LocB
INSERT INTO [dbo].[myTable]
           ([ItemName]
           ,[ItemRank]
           ,[ItemLoc])
     VALUES
           ('Item1',1,'LocA'),
           ('Item1',2,'LocB'),
           ('Item1',3,'LocC'),
           ('Item2',1,'LocA'),
           ('Item2',2,'LocC'),
           ('Item3',1,'LocB')

现在,我知道只有3个可能的ItemLoc值(LocA,LocB,LocC)。

我需要从ItemName中选择所有myTables,其中项目没有分配所有ItemLocs(那些是LocA,LocB,LocC)。

使用aboce数据的所需输出是

  1. 项目2
  2. 项目3

因为qazxsw poi没有qazxsw poi设置,而qazxsw poi没有Item2LocB设置。

我怎样才能做到这一点?我尝试使用Item3查询并列出条件,但无济于事。

sql sql-server-2008-r2
1个回答
2
投票

使用聚合

LocA
© www.soinside.com 2019 - 2024. All rights reserved.