在大型机DB2中,我有两个表TAB 1和TAB 2.我在这些表中有记录,如:
TAB 1:
AP_NBR LOC_NBR
1000 1
1000 2
1000 3
TAB 2:
LOC_NBR ITM_ID
1 500
1 600
2 450
2 750
她需要一个如下输出:
AP_NBR COUNT(LOC_NBR) COUNT(ITM_ID)
1000 3 4
如何为此编写COUNT个查询? 有人可以帮我这个吗?
答案 0 :(得分:4)
select t1.AP_NBR, count(distinct t1.LOC_NBR), count(distinct t2.ITM_ID)
from TAB1 t1 join TAB2 t2 on t1.LOC_NBR = t2.LOC_NBR
group by t1.AP_NBR
答案 1 :(得分:1)
试试这个:
select * from
(select AP_NBR,COUNT(*) cnt_LOC_NBR from TAB1 group by AP_NBR)a,
(select COUNT(*) cnt_ITM_ID from TAB2 where LOC_NBR in
(select LOC_NBR from TAB1))b