gpt4 book ai didi

SQL 在一组中但不在另一组中

转载 作者:行者123 更新时间:2023-12-02 09:11:27 24 4
gpt4 key购买 nike

鉴于以下数据:

DECLARE @Data TABLE
(
clientid INT,
reqyear INT,
status VARCHAR(10)
);

INSERT INTO @Data VALUES
(1, 2017, 'Recd'),
(1, 2018, 'Reject'),
(2, 2017, 'Recd'),
(3, 2017, 'Recd'),
(3, 2018, 'Request'),
(4, 2015, 'Recd'),
(4, 2017, 'Reject');

SELECT * FROM @Data;

我需要检索客户 ID 列表,其中我们收到了一年的文档,但又一年被拒绝。在此示例中,我只需要客户端 1 和 4。

客户端 2 无效,因为我们在一年内收到了数据,但没有另一年的数据。

此外,客户 3 不会被退回,因为我们在一年内收到了,但仅在另一年提出了请求(并且没有被拒绝)。

我该如何为此编写 SQL?

最佳答案

您可以计算每个客户端在这两者中拥有的不同状态数量:

SELECT   clientid
FROM @Data
WHERE status IN ('Recd', 'Reject')
GROUP BY clientid
HAVING COUNT(DISTINCT status) = 2

<强> SQLFiddle

关于SQL 在一组中但不在另一组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51483062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com