我正在尝试编写 SQL 语句,但不断收到错误...
这是我的情况:
我有一张带有销售订单的表格和一张带有物品转移的表格。
销售订单有一个订单号和一个扩展名,其中 ID 本身可能不是唯一的,但订单号和扩展名的组合是唯一的。扩展名可以为空。
物料转移表有一个参考号,有时还有一个销售订单号加上扩展名,但并非总是如此。
原因是有时为销售订单转移项目,有时出于其他原因。此外,可以在没有先转移项目的情况下发生销售订单。但是,一份订单只能进行一次转账,反之亦然。
我在销售订单表中添加了一个字段“transref”,以便可以将订单连接到转移(如果适用)。(出于性能原因,无法即时计算此信息。)所以我的表现在看起来像这样(它们实际上更大,但这是重要信息):
SALESORDERS
ORDERNO ORDEXT TRANSREF
1 (null) (null)
2 (null) (null)
2 a (null)
3 (null) (null)
TRANSFERS
TRANSREF ORDERNO ORDEXT
t1 1 (null)
t2 (null) (null)
t3 2 a
现在我需要将 transref 代码放入销售订单表中,使其看起来像这样:
SALESORDERS
ORDERNO ORDEXT TRANSREF
1 (null) t1
2 (null) (null)
2 a t3
3 (null) (null)
我尝试了各种陈述,例如
UPDATE SALESORDERS
INNER JOIN TRANSFERS
ON SALESORDERS.ORDERNO = TRANSFERS.ORDERNO and (SALESORDERS.ORDEXT = TRANSFERS.ORDEXT or (SALESORDERS.ORDEXT is null and TRANSFERS.ORDEXT is null))
SET SALESORDERS.TRANSREF = TRANSFERS.TRANSREF
WHERE TRANSFERS.ORDERNO IS NOT NULL
但到目前为止没有任何效果。在尝试了十几个教程和答案之后,有人可以帮我解开我脑海中的结吗?