从SQL Server中的另一个查询中减去查询
一个一直困扰着我的简单问题 我有以下两个问题:从SQL Server中的另一个查询中减去查询,sql,sql-server,Sql,Sql Server,一个一直困扰着我的简单问题 我有以下两个问题: select * from alm_existencias_almacen where id_warehouse = 3 select * from alm_existencias_almacen where id_warehouse = 8 我想得到仓库3中但不在仓库8中的物品的结果,反之亦然,那些在仓库8中而不在仓库3中的物品 问题是,两种商品中都可能有商品,我可以有以下情况: id_warehouse id_color id_design
select * from alm_existencias_almacen where id_warehouse = 3
select * from alm_existencias_almacen where id_warehouse = 8
我想得到仓库3中但不在仓库8中的物品的结果,反之亦然,那些在仓库8中而不在仓库3中的物品
问题是,两种商品中都可能有商品,我可以有以下情况:
id_warehouse id_color id_design
---------------------------------
8 RED STYLISH
3 RED NEW_AGE
所以在这种情况下,我想检索一个空集
如果它只是在ware 8中,它将只返回ware 3中的第一行和相反的行
这看起来很容易,但我整个上午都在做这件事,没有结果。我试过了
select *
from alm_existencias_almacen
where id_color not in (select *
from alm_existencias_almacen
where id_almacen = 3)
and id_design not in (select *
from alm_existencias_almacen
where id_almacen = 3)
and id_almacen = 8;
但是出现了一个错误
提前谢谢你说得对,这很容易 在wh 3中,而不是在8中,基于id_颜色:
select * from alm_existencias_almacen where id_warehouse = 3
and id_color not in
(select id_color from alm_existencias_almacen where id_warehouse = 8)
可以使用Set操作 仓库3中但不在仓库8中的项目的结果 谁在第八件而不是第三件 什么错误?我们看不懂你的屏幕,也看不懂你的思想,你必须告诉我们!请发布准确完整的错误消息!
select * from alm_existencias_almacen where id_warehouse = 3
EXCEPT
select * from alm_existencias_almacen where id_warehouse = 8
select * from alm_existencias_almacen where id_warehouse = 8
EXCEPT
select * from alm_existencias_almacen where id_warehouse = 3