我对MSSQL很新,只是有一些相当基本的更新语句的经验。我想知道是否有人可以帮助我使用正确的语法来执行以下操作:
我有两个表F4101
和F4102
,其中IMITM (F4101)
和IBITM (F4102)
列中包含相同的商品ID。
只需要更新F4102,但它会根据F4101进行更新,并且需要确保它正在更新F4102中的正确项目。
该陈述需要检查F4101 IMSRTX ='RESIN'的位置,然后设置F4102 IBBUYR = 1009,同时确保F4101 IMITM等于F4102 IBITM。
我很感激帮助!
示例数据:
F4101:
+-------+--------+
| IMITM | IMSRTX |
+-------+--------+
| 7493 | RESIN |
| 7494 | MINOR |
| 7495 | MINOR |
| 7496 | RESIN |
+-------+--------+
F4102:
+-------+--------+
| IBITM | IBBUYR |
+-------+--------+
| 7493 | |
| 7494 | |
| 7495 | |
| 7496 | |
+-------+--------+
如果F4101包含IMITM的树脂,则需要更新F4102的IBBUYR列,其值为F4101的IMITM等于F4102的IBITM。
答案 0 :(得分:2)
UPDATE F4102
SET IBBUYR = 1009
WHERE EXISTS (
SELECT 1
FROM F4101
WHERE IMITM = F4102.IBITM
AND IMSRTX = 'RESIN'
)
答案 1 :(得分:1)
Update F4102
Set IBBUYR=1009
From F4102 F2
Inner Join F4101 F1 on F2.IBITM = F1.IMITM
Where F1.IMSRTX='RESIN'
答案 2 :(得分:0)
update tableA set tableA.col1='it works'
where tableA.Id=:aId
and
(select true from customer where tableBId=:bId)
这可能对你有用。