仅使用多个唯一值访问查询结果

时间:2014-01-14 16:57:48

标签: sql ms-access

我的数据看起来像这样:

P/N   Detail   Run Time
1001    1        1.0
1001    1        2.0
1001    2        1.5
1001    3        3.0
1002    1        1.0
1002    1        2.5
1003    1        1.0
1003    1        0.5
1004    1        1.2
1004    1        2.1
1004    2        3.5

我想创建一个查询或一系列查询,删除仅与一个细节关联的P / N,使结果如下所示:

P/N   Detail
1001    1
1001    2
1001    3
1004    1
1004    2

2 个答案:

答案 0 :(得分:1)

怎么样:

SELECT [P/N], [Detail]
FROM [yourTable]
WHERE [P/N] IN
(
    SELECT [P/N]
    FROM [yourTable]
    GROUP BY [P/N]
    HAVING COUNT(*) > 1
)

答案 1 :(得分:0)

我使用了一个Aggregate子查询,最终表现得像SELECT DISTINCT。终极查询最终看起来像:

SELECT [P/N+Det].[P/N], Count([P/N+Det].Detail) AS CountOfDetail
FROM [P/N+Det]
GROUP BY [P/N+Det].[P/N]
HAVING (((Count([P/N+Det].Detail))>1));

,子查询看起来像:

SELECT Hours.[P/N], Hours.Detail, Hours.Rev AS bomRev
FROM Hours
WHERE (((Hours.[Run Time])<>0))
GROUP BY Hours.[P/N], Hours.Detail, Hours.Rev;