【发布时间】:2017-04-11 13:36:56
【问题描述】:
所以我有两个看起来像这样的表
库存表(这只是拉一个空位置列表)
|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。所以你会得到cartesian product。 -
SQL-Server 或 Informix,不是一回事...
-
我在 sql-server 上构建它,但 openquery 是 informix
-
谢谢你,bjones,我不知道。
标签: sql-server informix notin