使用从一个sql查询到另一个sql查询的多个输出
如何为以下内容创建sql查询 我有两张桌子 第一个表包含emp代码和类别,如使用从一个sql查询到另一个sql查询的多个输出,sql,Sql,如何为以下内容创建sql查询 我有两张桌子 第一个表包含emp代码和类别,如 paycode category 12345 manager 23456 manager 23654 manager 78965 AM 56987 AM 58966 AM 第二个表包含工资代码、休假类型和日期 Paycode leavetype date 12345 sl 01-01-2017 12345 sl 02-01
paycode category
12345 manager
23456 manager
23654 manager
78965 AM
56987 AM
58966 AM
第二个表包含工资代码、休假类型和日期
Paycode leavetype date
12345 sl 01-01-2017
12345 sl 02-01-2017
12345 sl 03-01-2017
12345 sl 04-01-2017
23456 EL 01-01-2017
23456 EL 01-01-2017
23456 EL 01-01-2017
23456 EL 01-01-2017
我想从第一个表中选择一个类别,然后根据每个输出,我想计算一次特定休假的次数
SELECT E.Paycode, E.Category, COUNT(C.leavetype)
FROM EMP E
LEFT JOIN CATEGORY C ON E.Paycode = C.Paycode
GROUP BY E.Paycode, E.Category
试试这个:
DECLARE @mytable TABLE
(paycode int,category nvarchar(50))
INSERT INTO @mytable
VALUES
(12345,'manager'),
(23456,'manager'),
(23654,'manager'),
(78965,'AM'),
(56987,'AM'),
(58966,'AM')
DECLARE @mytable2 TABLE
(paycode int,leavetype nvarchar(50),DATEstamp date)
INSERT INTO @mytable2
VALUES
(12345 , 'sl','01-01-2017'),
(12345 , 'sl','02-01-2017'),
(12345 , 'sl','03-01-2017'),
(12345 , 'sl','04-01-2017'),
(23456 , 'EL','01-01-2017'),
(23456 , 'EL','01-01-2017'),
(23456 , 'EL','01-01-2017'),
(23456 , 'EL','01-01-2017')
Select a.Paycode,Category,count(b.leavetype) as Total from @mytable a
left join @mytable2 b on a.paycode = b.paycode
group by a.paycode,a.category
您尝试过什么吗?对于该示例表数据,预期的结果是什么?(请使用格式化文本,而不是图像)非常感谢,它很有效..你只需简化测试我的查询..非常感谢。。