sql 3个表连接查询
表a字段名aID编号(ID)aName名称a_01中国表b字段名bID编号(ID)bName名称b_01北京表ccidaidbidc_01a_01b_01如何实现3个表连...
表 a
字段名
aID 编号(ID)
aName 名称
a_01 中国
表 b
字段名
bID 编号(ID)
bName 名称
b_01 北京
表 c
cid
aid
bid
c_01 a_01 b_01
如何实现3个表连接查询
我想得到的数据,
c_01 中国 北京
表名:DL
DL_ID DL_Name
1 大学生活
2 都市生活
3 乡村生活
表名:JD
JD_ID JD_Name
1 开始
2 中间
3 结束
表:ML
ML_ID ML_Name DL_ID JD_ID ML_date
1 小李 1 1 2011-3-09
2 小张 2 2 2011-3-10
3 小四 3 2 2011-3-11
4 小王 1 3 2011-3-12
表ML 的 DL_ID 引用 表:DL 的 DL_ID
表ML 的 JD_ID 引用 表:JD 的 JD_ID
我想用连接查询得到数据,
用左连接查询 2个表 是这样写的
select ML.*,DL.* From ML Left Join DL On ML.DL_ID = DL.DL_ID
3个表咋个写呢....
我想得到的数据时这样
1 小李 大学生活 开始 2011-3-09
2 小张 都市生活 中间 2011-3-10
3 小四 乡村生活 中间 2011-3-11
4 小王 大学生活 结束 2011-3-12 展开
字段名
aID 编号(ID)
aName 名称
a_01 中国
表 b
字段名
bID 编号(ID)
bName 名称
b_01 北京
表 c
cid
aid
bid
c_01 a_01 b_01
如何实现3个表连接查询
我想得到的数据,
c_01 中国 北京
表名:DL
DL_ID DL_Name
1 大学生活
2 都市生活
3 乡村生活
表名:JD
JD_ID JD_Name
1 开始
2 中间
3 结束
表:ML
ML_ID ML_Name DL_ID JD_ID ML_date
1 小李 1 1 2011-3-09
2 小张 2 2 2011-3-10
3 小四 3 2 2011-3-11
4 小王 1 3 2011-3-12
表ML 的 DL_ID 引用 表:DL 的 DL_ID
表ML 的 JD_ID 引用 表:JD 的 JD_ID
我想用连接查询得到数据,
用左连接查询 2个表 是这样写的
select ML.*,DL.* From ML Left Join DL On ML.DL_ID = DL.DL_ID
3个表咋个写呢....
我想得到的数据时这样
1 小李 大学生活 开始 2011-3-09
2 小张 都市生活 中间 2011-3-10
3 小四 乡村生活 中间 2011-3-11
4 小王 大学生活 结束 2011-3-12 展开
展开全部
你的表之间没有一点关联自然不行
你要查询的内容是1 小李 大学生活 开始 2011-3-09
所以你可以将ML表作为主表,
你可以这样建表
表:ML
ML_ID ML_Name ML_date
3 小李 1 2011-3-09
4 小张 2 2011-3-10
表名:DL(表里有四个字段,一个是自己的主键标示符,一个是各种生活字段,由于你要三个表相连,所以把DL表作为中间表,通过ML_LD_m字段和ML表的关系和JD_ID_J
字段和JD表的关系就可以查出你要的结果)
DL_ID DL_Live ML_LD_m JD_ID_J
1 大学生活 3 1
2 都市生活 4 2
表名:JD (这个表要有三个字段,一个是自己的主键,第二个是和第)
JD_ID JD_Time
1 开始
2 中间
select ML.ML_ID , ML.ML_Name,DL.DL_Live,JD.JD_Time,ML.ML_date
from ML as m
lift outer join DL as d on (s.ML_ID = d.ML_LD_m)
lift outer join JD as j on (j.JD_ID = d.JD_ID_J)
这个结果应该就是 3 小李 大学生活 开始 1 2011-3-09
6 小张 都市生活 中间 2 2011-3-10
你试一下把,好久没有碰代码了,试着写了一下
你要查询的内容是1 小李 大学生活 开始 2011-3-09
所以你可以将ML表作为主表,
你可以这样建表
表:ML
ML_ID ML_Name ML_date
3 小李 1 2011-3-09
4 小张 2 2011-3-10
表名:DL(表里有四个字段,一个是自己的主键标示符,一个是各种生活字段,由于你要三个表相连,所以把DL表作为中间表,通过ML_LD_m字段和ML表的关系和JD_ID_J
字段和JD表的关系就可以查出你要的结果)
DL_ID DL_Live ML_LD_m JD_ID_J
1 大学生活 3 1
2 都市生活 4 2
表名:JD (这个表要有三个字段,一个是自己的主键,第二个是和第)
JD_ID JD_Time
1 开始
2 中间
select ML.ML_ID , ML.ML_Name,DL.DL_Live,JD.JD_Time,ML.ML_date
from ML as m
lift outer join DL as d on (s.ML_ID = d.ML_LD_m)
lift outer join JD as j on (j.JD_ID = d.JD_ID_J)
这个结果应该就是 3 小李 大学生活 开始 1 2011-3-09
6 小张 都市生活 中间 2 2011-3-10
你试一下把,好久没有碰代码了,试着写了一下
展开全部
select cid, aname, bname from 表a join 表b on 1 = 1 join 表c on 1=1 where cid='c_01' and 表a.aname='中国' and 表b.bname = '北京'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select c.cid,a.aname,b.bname from a,b,c where a.aID=c.aid and b.bid=c.bid ;
select ML.ML_ID,ML.ML_NAME,DL.DL_Name,JD.JD_Name ,ML.ML_date from ML,DL,JD
WHERE ML.DL_ID=DL.DL_ID AND ML.JD_ID=JD.JD_ID;
select ML.ML_ID,ML.ML_NAME,DL.DL_Name,JD.JD_Name ,ML.ML_date from ML,DL,JD
WHERE ML.DL_ID=DL.DL_ID AND ML.JD_ID=JD.JD_ID;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询