我有一个包含以下表格的数据库:
信息,红色,小时,绿色
在信息表中包含我在商店中销售的所有商品。其余表格中包含该产品的库存如下:
示例:
++ Information
表格:
ID,名称,价格
01,测试,100 $
02,testagain,50 $
03,t03,30 $
04,t04,50 $
05,t05,122 $
++ Red
表格:
id,sid,计数
01,01,50
这意味着“测试”产品,在Red仓库中,我有50件。
++ Green
表格:
id,sid,计数
01,03,20
++ Hourse
表格:
id,sid,计数
01,02,150
我可以从information
表中选择我的仓库(红色,绿色,小时)中的counts > 0
在我们的示例中,它仅显示:test (id 01), testagain (id 02) and t03 (id 03)
但未显示ID为04和05。
是否可以使用SQL?
谢谢,抱歉这个烂摊子!
答案 0 :(得分:-1)
使用左连接
select a.id, a.name, isnull(b.counts,0)
from information as a
left join (select * from red
union all
select * from green
union all
select * from Hourse
) b on a.id= b.sid
答案 1 :(得分:-1)
检查此查询可能有效。
select * from information i left join red r
on i.id = r.sid
left join green g
on i.id = g.sid
left join hourse h
on i.id = h.sid
group by
i.id having count > 0