play比赛表
p_id--------tn1--------tn2--------bTime
1------------1----------2----------1232343452
2------------3----------4----------1232343420team球队表
t_id--------name_en------------name_cn
1-----------China--------中国
2-----------USA----------美国
3-----------Aussie-------澳大利亚
4-----------Canada-------加拿大into进球表
i_id--------ball----------i_time
1------------0------------10
1------------0------------16
1------------1------------23
1------------0------------80
2------------1------------50
2------------1------------67想得到的结果:
p_id--------tn1------------tn2------------H------------G------------bTime
1-----------中国------------美国----------3------------1------------1232343452
2-----------澳大利亚--------加拿大--------0------------2------------1232343420说明一下结果得到的:
into.i_id对应play.p_id;ball记录是哪一方得分,0表示play.tn1,1表示play.tn2。
H的结果是由count(play.p_id=into.i_id AND into.ball=0)而来;
G的结果是由count(play.p_id=into.i_id AND into.ball=1)而来。下面的语句是由CSDN上的ccssddnnhelp写的但当时我问时没有连接into表
select p.id,t1.name_cn,t2.name_cn,p.bTime
from (play as p inner join team as t1 on p.tn1=t1.id)
inner join team as t2 on p.tn2=t2.id
p_id--------tn1--------tn2--------bTime
1------------1----------2----------1232343452
2------------3----------4----------1232343420team球队表
t_id--------name_en------------name_cn
1-----------China--------中国
2-----------USA----------美国
3-----------Aussie-------澳大利亚
4-----------Canada-------加拿大into进球表
i_id--------ball----------i_time
1------------0------------10
1------------0------------16
1------------1------------23
1------------0------------80
2------------1------------50
2------------1------------67想得到的结果:
p_id--------tn1------------tn2------------H------------G------------bTime
1-----------中国------------美国----------3------------1------------1232343452
2-----------澳大利亚--------加拿大--------0------------2------------1232343420说明一下结果得到的:
into.i_id对应play.p_id;ball记录是哪一方得分,0表示play.tn1,1表示play.tn2。
H的结果是由count(play.p_id=into.i_id AND into.ball=0)而来;
G的结果是由count(play.p_id=into.i_id AND into.ball=1)而来。下面的语句是由CSDN上的ccssddnnhelp写的但当时我问时没有连接into表
select p.id,t1.name_cn,t2.name_cn,p.bTime
from (play as p inner join team as t1 on p.tn1=t1.id)
inner join team as t2 on p.tn2=t2.id
left join team b on a.tn1=b.t_id
left join team c on a.tn2=c.t_id
left join
(SELECT i_id,sum(iif(ball=0,1,0)) as h,sum(iif(ball=1,1,0)) as g from [into] group by i_id) d
on a.p_id=d.i_id
SELECT p.id,t1.name_cn AS tn1,t2.name_cn AS tn2,H,G,p.bTime
FROM (play AS p INNER JOIN team AS t1 ON p.tn1=t1.id)
LEFT JOIN team AS t2 ON p.tn2=t2.id
RIGHT JOIN (SELECT p_id,sum(if(ball=0,1,0)) AS H,sum(if(ball=1,1,0)) AS G from play_in GROUP BY p_id) AS d ON p.id=d.p_id