您好如何在内联接中为此创建查询以计算多少 id在stdtbl_detail?
例如,在stdtbl中id是“372”,所以我想计算stdtbl_detail中有多少372
SELECT h.*, d.* from
stdtbl h inner join stdtbl_detail d
on h.id = d.std_dtl_id
where
h.loginid = '1' AND h.stdid='013777'
所以输出就像这样
id stdid loginid std_dtl_id countexist
372 013777 1 372 4
372 013777 1 372 4
372 013777 1 372 4
372 013777 1 372 4
373 013777 1 373 4
373 013777 1 373 4
373 013777 1 373 4
373 013777 1 373 4
提前谢谢
这是Demo
答案 0 :(得分:4)
select h.*
, d.*
, count(*)
from stdtbl h
inner join stdtbl_detail d on h.id = d.std_dtl_id
where h.loginid = '1'
and h.stdid ='013777'
group by id
那会给你一个答案。您是否需要每次id
显示每个id
只显示一次?
修改强>
这个将为您准确提供您所要求的内容,以防万一您也需要
select h.*
, d.*
from stdtbl h
inner join (
select std_dtl_id
, count(*) total
from stdtbl_detail
group by std_dtl_id
) d on h.id = d.std_dtl_id
inner join stdtbl_detail dt on h.id = dt.std_dtl_id
where h.loginid = '1'
and h.stdid = '013777'
答案 1 :(得分:0)
尝试此查询
SELECT h.*, d.* , count(*)
FROM stdtbl h
INNER JOIN stdtbl_detail d ON h.id = d.std_dtl_id
WHERE h.loginid = '1' AND h.stdid='013777'
GROUP BY h.id