0

作为 SQL 新手,请您指出正确的方向。我知道以下是错误的,但我不知道为什么。

UPDATE cus
SET cus.leg_no = new.leg_no
WHERE cus.c_no = new.c_no

cus表目前nullleg_no. 我想从new表中更新它。我将加入c_no两个表中的哪个。

我试过在网上搜索,但我越来越困惑。这让我认为我需要 FROM,但有些事情告诉我,这是在使用 SELECT 而不是 UPDATE 时。

4

2 回答 2

0
UPDATE cus,new
SET cus.leg_no = new.leg_no
WHERE cus.c_no = new.c_no
于 2013-07-29T06:28:01.350 回答
0

这是执行此操作的标准方法:

UPDATE cus
SET cus.leg_no = (select new.leg_no from new WHERE cus.c_no = new.c_no)

这是执行此操作的 SQL Server/MS 访问方言方式:

UPDATE cus
SET cus.leg_no = new.leg_no
FROM cus
  INNER JOIN new
    ON cus.c_no = new.c_no

请注意,使用标准方法,如果其中有多个行new与 中的特定行匹配cus,您将收到一条错误消息。而使用 SQL Server/MS 访问方言形式,系统将任意选择其中一行,并且不会发出警告或错误。

于 2013-07-29T06:34:30.530 回答