2017-10-13 79 views
-2

如何SQL查询可以为以下 创建我有两个表使用来自一个SQL查询多输出到另一个

拳头表包含EMP代码和类别等

paycode category 
12345  manager 
23456  manager 
23654  manager 
78965  AM 
56987  AM 
58966  AM 

和第二表包含paycode和离开类型采取和日期

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 

我想从第一个表中选择一个类别,并对每个输出我要计算一个特定的数量l屋檐采取

+1

你尝试过什么? – Aldeguer

+0

使用该样本表数据,预期结果是什么? (请格式化文本,而不是图像) – jarlh

回答

0

试试这个:

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 
+0

非常感谢,它的工作..并且你只是简化了事情来测试我的查询..感谢很多这个.. –

0

试试这个 -

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 
+0

非常感谢,它的工作.. –

相关问题