Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于SQL中另一列的2个变量计算该列的不同值_Sql_Sql Server_Count_Distinct - Fatal编程技术网

基于SQL中另一列的2个变量计算该列的不同值

基于SQL中另一列的2个变量计算该列的不同值,sql,sql-server,count,distinct,Sql,Sql Server,Count,Distinct,如何根据SQL中另一列的两个变量获取列的计数 例: 我需要计算消防和安全部门的emp id的不同编号。这里的答案应该是3(22、26和44)。您能告诉我查询SQL的最佳方法吗?这里有一种方法: SELECT COUNT(*) FROM ( SELECT 1 dd FROM tablename WHERE dept in ('fire','safety') GROUP BY empid HAVING COUNT(DISTINCT dept) = 2 ) t 如果需要EMPID的不同列表: S

如何根据SQL中另一列的两个变量获取列的计数

例:

我需要计算消防和安全部门的emp id的不同编号。这里的答案应该是3(22、26和44)。您能告诉我查询SQL的最佳方法吗?

这里有一种方法:

SELECT COUNT(*) FROM (
SELECT 1 dd
FROM  tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept)  = 2
) t
如果需要EMPID的不同列表:

SELECT empid
FROM  tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept)  = 2

是的,他可以,但唯一的条件是EMP ID必须是“消防”和“安全”部门的一部分。谢谢!!请标记您的数据库
SELECT empid
FROM  tablename
WHERE dept in ('fire','safety')
GROUP BY empid
HAVING COUNT(DISTINCT dept)  = 2