首页 新闻 搜索 专区 学院

怎么根据sql多表查询值 显示想要的

0
[已解决问题] 解决于 2013-05-21 15:59
select UInfo.ID, UInfo.U_pet,Udetail.U_smork,Udetail.U_Drink,Umating.U_Smonk,Udesc.U_nature ,
Udesc.U_hobby,Udesc.U_Interest,Udesc.U_family,Udesc.U_dubaifrom UInfo
left join Udetail on UInfo.ID=Udetail.U_Id left join Udesc on UInfo.ID=Udetail.U_Id left join
Umating on UInfo.ID=Umating.U_ID 我多表联合查询 Udetail.U_Drink ,Udesc.U_hobby,
这两个列的值数字 对应是在另外一张表ClassMa 表里面的ID
ClassMa 表结构
ID CName
1 北京
2 天津
3 重庆
ClassMa 表的结果可能有很多行我想要的值
Udetail.U_Drink ,Udesc.U_hobby 显示出的结果是 表 ClassMa 里面CName值 求大神解决办法

ClassMa的结果值有上百列 只能通过ID查询值 我 希望结果是可以直接在SQL语句中查询出来
求大神啊
飞翔的鱼的主页 飞翔的鱼 | 初学一级 | 园豆:3
提问于:2012-04-26 17:23
< >
分享
最佳答案
0

表达不清楚  你在解释一下  

uinfo 和 Udetail 和Umating 你就不用说了  

你就在说下前面3张表和后面那个classMa表的关系

奖励园豆:5
┢┦偉 | 小虾三级 |园豆:1240 | 2012-04-26 18:49

前面三张表  表 uinfo中字段 U_pet   对应classMa表中 ID ,我要根据U_pet 查询出表classMa中相对应的CName值 表 Udesc中字段 U_nature对应classMa表中 ID,同样 我要根据U_nature 查询出表classMa中相对应的CName值    大神 求解答啊

飞翔的鱼 | 园豆:3 (初学一级) | 2012-04-26 19:34

@飞翔的鱼: 

那直接

SELECT ClassMa.CName FROM Udesc LEFT JOIN classMa 

ON Udesc.U_nature==classMa.id            

 表uinfo和表classMa有关联      表Udesc和表classMa也有关联

你想的出CName值,只用和一个表进行联接查询就可以了吧......

┢┦偉 | 园豆:1240 (小虾三级) | 2012-04-26 19:43

@┢┦偉:  像这样写的话 只能将表Udesc和表classMa 关联起来   因为我首先必须要通过 select UInfo.ID, UInfo.U_pet,Udetail.U_smork,Udetail.U_Drink,Umating.U_Smonk,Udesc.U_nature ,
Udesc.U_hobby,Udesc.U_Interest,Udesc.U_family,Udesc.U_dubaifrom UInfo
left join Udetail on UInfo.ID=Udetail.U_Id left join Udesc on UInfo.ID=Udetail.U_Id left join
Umating on UInfo.ID=Umating.U_ID  这种查询方式  才能得到 表 uinfo中字段 U_pet 还有 表 Udesc中字段 U_nature 以及表Umating中的字段U_Smonk   然后我希望根据得到的这三个字段值 然后再取得他们对应的表 classMa中CName值  有办法吗

飞翔的鱼 | 园豆:3 (初学一级) | 2012-04-27 09:25

@飞翔的鱼:

    uinfo 和 udetail关联   udetail和 udesc 关联  udesc 和 umaating 关联  

  uinfo和classMa关联    udesc和classMa关联    

      是这样的关系吗?

 

  

SELECT FROM 

┢┦偉 | 园豆:1240 (小虾三级) | 2012-04-27 09:34
其他回答(1)
0

表述有点模糊?能写出建表语句吗?

小材小用 | 园豆:639 (小虾三级) | 2012-04-27 13:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册