sql带条件的左连接
sql数据库中有两个表:cs(cpid,xh,cs)及csmc(cplb,xh,csmc),表示产品的参数及某类产品的参数名称,pid的前四位=cplb,即同类的产品有着...
sql数据库中有两个表:cs(cpid, xh, cs)及csmc(cplb, xh, csmc),表示产品的参数及某类产品的参数名称,pid的前四位=cplb,即同类的产品有着同类的产品参数名称,表cs的xh表示该产品cpid的第几个参数(序号),与csmc的xh对应;表csmc表示该类产品的所有参数名称,给出产品id怎样才能显示该产品的所有参数名称及所有的参数?
cs(参数)的原始数据 cpid xh cs
010101 1 10
010101 2 20
010102 1 5
010102 2 6
csmc(参数名称)的原始数据 cplb xh csmc
0101 1 电流
0101 2 电压
0101 3 电阻
0101 4 温度
0102 1 重量
0102 2 电流
现在我知道某个产品cpid,怎样才能找到该产品的所有参数名称及参数?
用右外连接:
select csmc.xh, csmc.csmc, cs.cs
from csmc
left outer join cs
on csmc.xh = cs.xh
where cs.cpid='010100101001' and and csmc.cplb = '0101'
得结果: xh csmc cs
1 电流 10
2 电压 20
电阻没有被查出,为何? 展开
cs(参数)的原始数据 cpid xh cs
010101 1 10
010101 2 20
010102 1 5
010102 2 6
csmc(参数名称)的原始数据 cplb xh csmc
0101 1 电流
0101 2 电压
0101 3 电阻
0101 4 温度
0102 1 重量
0102 2 电流
现在我知道某个产品cpid,怎样才能找到该产品的所有参数名称及参数?
用右外连接:
select csmc.xh, csmc.csmc, cs.cs
from csmc
left outer join cs
on csmc.xh = cs.xh
where cs.cpid='010100101001' and and csmc.cplb = '0101'
得结果: xh csmc cs
1 电流 10
2 电压 20
电阻没有被查出,为何? 展开
展开全部
附表的条件放on里面,还有你这sql
where语句里多个and也能查处结果??
select csmc.xh, csmc.csmc, cs.cs
from csmc
left outer join cs
on (csmc.xh = cs.xh and cs.cpid='010100101001' )
where csmc.cplb = '0101'
where语句里多个and也能查处结果??
select csmc.xh, csmc.csmc, cs.cs
from csmc
left outer join cs
on (csmc.xh = cs.xh and cs.cpid='010100101001' )
where csmc.cplb = '0101'
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
电阻的xh不一样啊,csmc.xh = cs.xh 电阻是3 cs里没有嘛,条件不成立所以不出喽!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询