标题:求助,多对一关联(多列对一列),如何写查询代码,谢谢!
只看楼主
pargy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-10-22
 问题点数:0 回复次数:2 
求助,多对一关联(多列对一列),如何写查询代码,谢谢!
A表      
banji  yuwen  shuxue   
一年级一班  100001  100006   
一年级二班  100002  100003   
一年级三班  100001  100004   
一年级四班  100005  100003   
一年级五班  100002  100004   
一年级六班  100005  100006   
      
      
      
 B表      
laoshixuehao    xingming  nianling   
 100001       张三  25   
 100002       李四  45   
 100003       王五  28   
 100004       赵六  50   
 100005       吴七  40   
 100006       刘八  48   
      
      
      
求sql查询得下表     
banji  语文老师姓名  年龄  数学老师姓名  年龄  


使用了 如下,结果不行。求助  
select *****   
 from  A as yu,a as shu,b  
 where   
 yu.yuwen = b.laoshixuehao  
 or shu.shuxue = b.laoshixuehao
搜索更多相关主题的帖子: 如何 
2015-09-10 11:06
kinvanhon
Rank: 5Rank: 5
来 自:战争学院
等 级:贵宾
威 望:16
帖 子:99
专家分:258
注 册:2014-10-7
得分:0 
表结构不合理
select a.banji,语文老师姓名,a.年龄,数学老师姓名,b.年龄 from (select aa.banji,bb.xingming as 语文老师姓名,bb.nianling as 年龄 from aa join bb on aa.yuwen=bb.laoshixuehao) a join (select aa.banji,bb.xingming as 数学老师姓名,bb.nianling as 年龄 from aa join bb on aa.shuxue=bb.laoshixuehao) b on a.banji=b.banji

程序代码:
banji    语文老师姓名    年龄    数学老师姓名    年龄
一年级一班  张三       25       刘八      48
一年级二班  李四       45       王五      28
一年级三班  张三       25       赵六      50
一年级四班  吴七       40       王五      28
一年级五班  李四       45       赵六      50
一年级六班  吴七       40       刘八      48

此语句要保证每个班级都有语文数学老师

[ 本帖最后由 kinvanhon 于 2015-9-10 12:36 编辑 ]
2015-09-10 12:31
pargy
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-10-22
得分:0 
回复 2楼 kinvanhon
万分感谢!现在弄明白了,原来我的思路是糊涂的,刚好弄反了,应该一个A两个B,我弄的是两个A一个B,呵呵
2015-09-10 16:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-457189-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056773 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved