【发布时间】:2018-01-16 13:22:52
【问题描述】:
我有一个交易表,其中包含每个公司的项目详细信息。我想编写一个查询来检索只有项目编号 1,2 和 3 的公司(根据下面的示例代码)。选定的公司应具有所有 1,2,3 项。如果某些公司只有第 1 项,那么它不应该出现。这个怎么写?
CREATE TABLE #TmpTran
(
ID BIGINT IDENTITY,
COMPANY_ID BIGINT,
ITEM_NAME VARCHAR(50),
ITEM_NUMBER INT
)
INSERT INTO #TmpTran (COMPANY_ID, ITEM_NAME, ITEM_NUMBER)
VALUES (1, 'ABC', 1), (1, 'DEF', 2), (1, 'HIJ', 3),
(2, 'KLM', 4), (2, 'KLM', 5), (2, 'ABC', 1)
如何使用 WHERE 或 JOIN 查询仅获取公司 1 数据?
【问题讨论】:
-
当有一家公司有 1,2,3 和 4 项编号时会发生什么,该公司会成为结果的一部分吗?
-
是的...因为该公司拥有我们搜索的所有项目(本例中为 1,2,3)。我想加载所有拥有所有搜索项的公司。
-
那我更喜欢戈登的回答..
标签: sql sql-server