再加一个条件啊.如下:
SELECT 编号, 仓库, 供货商
FROM dbo.库存表
WHERE (编号 NOT IN
(SELECT 盘点条码
FROM 盘点表)) and (仓库 = @仓库) and (供货商 = @供货商)
AND (编号 NOT IN
(SELECT 出货条码
FROM 出货表))
不过这样效率太差了呢~~~
不建议用NOT IN,应该用 NOT EXISTS。如下:
SELECT 编号, 仓库, 供货商
FROM dbo.库存表
WHERE (仓库 = @仓库)
and (供货商 = @供货商)
and NOT EXISTS(SELECT 盘点条码 FROM 盘点表 WHERE dbo.库存表.编号=盘点条码)
and NOT EXISTS(SELECT 出货条码 FROM 出货表 WHERE dbo.库存表.编号=出货条码)
这样效率最好~
首先你得条件是要筛选编号,所以你得子查询结果也应该是编号。另外参数要先定义好。
where 编号 not in(select 编号 from 盘点条码 )