所以我有这个样子没有条款不打开查询过滤SQL服务器
Inventory表两张表(这只是拉空位置的列表)
|loc|
|ECA001|
_____
库存传输作业列表表
|id | oid | sku | from_loc | to_loc | tag | qty | processed | create_date | processed date
|2 | 003 | 123 | SD034 | |T100010| 2 | NULL | 2017-04-06 | NULL
___
我想要做的是填充Inventory_Transfer_Job_List_Table。 To_loc与我的第一个表&位置的下一个空位置不是已经在我的Inventory_Transfer_Job_List.to_loc表
我只是工作的select语句现在,以确保之前,我更新我将正确的数据使用。
我试图
select * from
(select loc from openquery(wms7,'SELECT lc_f.loc FROM lc_f left join iv_f on
lc_f.loc = iv_f.loc WHERE lc_f.loc like ''EC%'' AND lc_f.loc not in (select
loc from iv_f where loc like ''EC%'' OR loc = ''ECRETURNS'')')) as a ,
[db1].[dbo].[ECOM_Transfer_Inventory_Job_List] as b
where to_loc = ''
and a.loc not in (SELECT to_loc
FROM [db1].[dbo].[ECOM_Transfer_Inventory_Job_List]
WHERE to_loc != '')
,但我只得到一个重复的值
ex.
loc | id | oid | sku | from_loc | to_loc | tag | qty | processed | create_date | processed date
|ECA001| 1 | 0001 |0003 | MCA022 | | T100001| 2 | Null | 2017-04-06 | NULL
|ECA001| 7 | 0023 |0015 | MCA049 | | T100051| 12 | Null | 2017-04-06 | NULL
而不是仅仅过滤掉那些已经使用过的人。
帮助的帮助将是巨大的谢谢,
你正在做'CROSS JOIN'。所以你会得到[笛卡尔产品](https://en.wikipedia.org/wiki/Cartesian_product)。 – BJones
SQL服务器或Informix,不是一回事... –
我建立它在SQL服务器上,但公开查询是informix –