我有3张table,MAIN_TABLE
、SUB_TABLE
和ID_TABLE
。
我需要将MAIN_TABLE
中的CODE
与SUB_TABLE
的m1e5o1p进行比较,如果它们匹配,则搜索ID_TABLE
上的m1p7o1p,并用MAIN_TABLE
更新ID
内的m1o1p。
在下面的示例中,查询应该使用ID = 2071
更新MAIN_TABLE
。MAIN_TABLE
:
|代码| ID|
| ------------ | ------------ |
| 0290380007800 | 994526 |SUB_TABLE
:
|代码|SUB_ID|
| ------------ | ------------ |
| 029038078 | 106603 |ID_TABLE
:
|ID |子ID|
| ------------ | ------------ |
| 2071 | 106603 |
要将MAIN_TABLE
的代码与SUB_TABLE
中的代码匹配,我需要如下选择:
SELECT
SUBSTRING(CODE, 1, 6) + SUBSTRING(CODE, 9, 3)
FROM
MAIN_TABLE
我如何才能做到这一点?
下面是每个表中包含更多数据的dbfiddle:https://dbfiddle.uk/6H_mnPDR?hide=28
2条答案
按热度按时间vsdwdz231#
只需将表作为更新语句的一部分连接在一起。请注意,这会给你重复的ID,但是你已经有了重复的ID了,所以我猜这是意料之中的(虽然不寻常)。
68de4m5k2#
使用子查询可以解决问题。您可以尝试以下代码: