mysql标记2个表之间的唯一记录

时间:2016-03-23 15:12:46

标签: mysql

我有两个表:UPDATE [SONE].[dbo].[F_DOC] SET [DC_Piece] = 'FA' + CAST (CAST(RIGHT([DC_Piece],7)AS INT)-1 AS VARCHAR) where [cbMarq]=8 _adagio_items,其中列catlg_products_adagio_items.ItemId应包含相同的值。

我想在catlg_products.name中查找并标记_adagio_items中不存在的记录。

到目前为止,我能够创建查找此类记录的sql语句:

catlg_products.name

现在我需要在SELECT ItemId FROM _adagio_items , catlg_products WHERE catlg_products.name <> _adagio_items.ItemId 标记我找到的记录。所以我想这样做:

_adagio_items

并收到错误消息: &#34;您无法指定目标表&#39; _adagio_items&#39;用于FROM子句&#34;

的更新

1 个答案:

答案 0 :(得分:3)

尝试这种方式:

UPDATE _adagio_items 
LEFT JOIN catlg_products ON _adagio_items.ItemId = catlg_products.name
SET _adagio_items._new_record = 1 
WHERE catlg_products.name IS NULL