你好,有个三个表,1.物料数量表,2.物料对应供应商分配表,3.物料对应供应商表。 表结构如下: 1表:物料编号 数量 2表:物料编号 供应商编号 分配额 3表:物料编号 供应商编号 先按物料对应供应商分配表,如果在物料对应供应商分配表中找不到对应的供应商,然后在物料对应供应商表找供应商,不知这样的sql语句如何写?谢谢!想要什么样的结果?最好能给点测试数据和测试结果举例说明。 IF NOT EXISTS (SELECT 供应商编号 from 表2 WHERE 物料编号=@ID) SELECT 供应商编号 from 表3 WHERE 物料编号=@ID SQL code: select a.物料编号, a.数量, b.供应商编号, b.表别 from 表1 a left join (select 物料编号,供应商编号,2 as 表别 from 表2 union select 物料编号,供应商编号,3 from 表3) b on a.物料编号 = b.物料编号
... IF NOT EXISTS (SELECT 供应商编号 from 表2 WHERE 物料编号=@ID) begin SELECT 供应商编号 from 表3 WHERE 物料编号=@ID end 看看什么结果 SQL code:
select a.物料编号,a.数量,isnull(b.供应商编号 , c.供应商编号) 供应商编号,b.分配额 from 物料数量表 left join 物料对应供应商分配表 b on a.物料编号=b.物料编号 left join 物料对应供应商