相关疑难解决方法(0)

使用连接的SQL更新查询

我必须更新一个字段,其值由3个表的连接返回.

例:

select
    im.itemid
    ,im.sku as iSku
    ,gm.SKU as GSKU
    ,mm.ManufacturerId as ManuId
    ,mm.ManufacturerName
    ,im.mf_item_number
    ,mm.ManufacturerID
from 
    item_master im, group_master gm, Manufacturer_Master mm 
where
    im.mf_item_number like 'STA%'
    and im.sku=gm.sku
    and gm.ManufacturerID = mm.ManufacturerID
    and gm.manufacturerID=34
Run Code Online (Sandbox Code Playgroud)

我想更新mf_item_number表的字段值item_master与在上述条件中连接的其他值.

我怎样才能在MS SQL Server中执行此操作?

sql t-sql sql-server sql-server-2005 sql-update

630
推荐指数
7
解决办法
86万
查看次数

SQL JOIN 和 UPDATE

我有两个表 TBL_TEST1 和 TBL_TEST2,两个表中都有列 DISTRICT 和 NAME,两个表中的 DISTRICT 列中的数据相同,我想将 TBL_TEST2 所有 NAME 列值更新为“完成”,其中 TBL_TEST2 表中的 DISTRICT 值'两个表中均找到 1'。

下面是我的查询表

SELECT * FROM TBL_TEST1

DISTRICT    NAME
1           Rashid
2           Ramish
1           Ali
1           Karim
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM TBL_TEST2

DISTRICT    NAME
1           DDD
2           DDDY
3           DDDD7
1           DD1
1           DDD4
Run Code Online (Sandbox Code Playgroud)

当我尝试时

  UPDATE TBL_TEST2 SET TBL_TEST2.NAME = 'DONE'  FROM TBL_TEST2 INNER JOIN TBL_TEST1 ON TBL_TEST2.DISTRICT = TBL_TEST1.DISTRICT WHERE TBL_TEST2.DISTRICT = '1'
Run Code Online (Sandbox Code Playgroud)

我收到下面的错误消息

ORA-00933: SQL command not properly ended
Run Code Online (Sandbox Code Playgroud)

我测试了其他帖子中的代码,我问,但是我的代码是正确的,为什么我仍然收到该错误消息

sql oracle

-2
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql ×2

oracle ×1

sql-server ×1

sql-server-2005 ×1

sql-update ×1

t-sql ×1