gpt4 book ai didi

关于 select 的 sql 问题 - 微不足道?

转载 作者:行者123 更新时间:2023-12-04 20:56:00 25 4
gpt4 key购买 nike

看似微不足道,但找不到解决方案 -

我需要编写查询,根据属性值获取人员(例如,让我找到具有属性“1”和“2”和“3”的人)

*澄清:可以对三个以上的属性值进行查询- 它将由用户选择 - 从 0 到 n 个值,但我不希望超过 7 个值... *

-- tsql script --------------
create table ##temp (person char(1), attr char(1) );

-- can be 1..n persons and 1..n attributes
insert into ##temp VALUES
('A','1'),
('A','2'),
('B','1'),
('C','2');

-- sample: get all persons which have attribute 1 AND 2
-- sample: result should be 'A' only

drop table ##temp
-- tsql script -----------------

感谢帮助,啊

最佳答案

您可以将 GROUP BYHAVING COUNT(DISTINCT) 子句一起使用。

SQL语句

SELECT  person
FROM ##temp
WHERE attr IN ('1', '2')
GROUP BY
person
HAVING COUNT(DISTINCT attr) = 2

以下语句将始终优于 COUNT(DISTINCT),但如果存在重复项,则会产生不正确的结果。 请注意,出色表现可能无法衡量

SELECT  person
FROM ##temp
WHERE attr IN ('1', '2')
GROUP BY
person
HAVING COUNT(*) = 2

关于关于 select 的 sql 问题 - 微不足道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6952677/

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