求一表间连接的

lwkyy 2008-07-10 10:06:27
play
p_id tn1 tn2 bTime
1 1 2 1232343452
2 3 4 1232343420

team
t_id en cn
1 China 中国
2 USA 美国
3 Aussie 澳大利亚
4 Canada 加拿大


p_id tn1 tn2 bTime
1 中国 美国 1232343452
2 澳大利亚 加拿大 1232343420
...全文
88 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwkyy 2008-07-10
  • 打赏
  • 举报
回复
play比赛表
p_id--------tn1--------tn2--------bTime
1------------1----------2----------1232343452
2------------3----------4----------1232343420

team球队表
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
lwkyy 2008-07-10
  • 打赏
  • 举报
回复
谢谢你的推荐,我先看下如果可以就结帖。
ccssddnnhelp 2008-07-10
  • 打赏
  • 举报
回复

推荐你看一下这些帮助


SQL 1992
MySQL 5.1 Reference Manual
数据库系统概论PPT.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-07-10
  • 打赏
  • 举报
回复

select p.p_id,t1.cn,t2.cn,bTime
from (play as p inner join team as t1 on p.tn1=t1.t_id)
inner join team as t2 on p.tn2=t2.t_id
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧