SQL多表查询
本帖最后由 lnnweb1 于 2013-03-23 12:26:50 编辑 有3个表,如下:
一,表1:djb
Number Bopomofo_Ab GoodsName
1 DM 大米
2 HD 黄豆
3 XM 小麦
4 LD 绿豆
5 DD 大豆
二,表2:Storage_kc
ID DJBID GoodsName SpecType remarks Quantity Provider
1 1 大米 干货 东北 500 阿里巴巴
2 3 小麦 干货 东北 1000 阿里巴巴
3 5 大豆 干货 东北 2000 阿里巴巴
三,表3:ck1_ls
ID DJBID KCID GoodsName Quantity_ck
1 3 2 小麦 400
四,通过以上3个表的关系,如何才能达到以下效果:
ID DJBID GoodsName SpecType remarks Quantity Provider Quantity_ck
1 1 大米 干货 东北 500 阿里巴巴 NULL
2 3 小麦 干货 东北 1000 阿里巴巴 400
3 5 大豆 干货 东北 2000 阿里巴巴 NULL
[解决办法]
select a.ID, a.DJBID, a.GoodsName, a.SpecType, a.remarks, a.Quantity, a.Provider, b.quantity_ck
from Storage_kc a
left join ck1_ls b
on a.DJBID = b.DJBID
[解决办法]
select a.ID, a.DJBID, a.GoodsName, a.SpecType, a.remarks, a.Quantity, a.Provider, b.quantity_ck
from Storage_kc a
left join ck1_ls b
on a.DJBID = b.DJBID
------解决方案--------------------
改为:
select a.ID, a.DJBID, a.GoodsName, a.SpecType, a.remarks, a.Quantity, a.Provider, b.quantity_ck
from Storage_kc a
left join ck1_ls b
on a.DJBID = b.DJBID
right join djb c
on c.goodsname = a.goodsname
and c.Number=b.DJBID
where a.GoodsName like '%" + @TextBox6.Text + "%' ORDER BY c.GoodsName