这是我的工作无效
UPDATE
TableA
SET
A_Price = B_Price
FROM
TableA
INNER JOIN
(
SELECT B_Name, max(B_Price)
FROM TableB
GROUP BY B_Name
)
ON A_Name = B_Name
WHERE
ISNULL(RTRIM(A_Price),'')=''
我想做的是
部分A_Price为null或为空, 所以我尝试将B_Price放入A_Price 我只能通过A_Name和B_Name连接两个表 但是在这里,B_Name有很多B_Price (1个名称,但许多不同的价格) 所以我想将B_Price的最高价格插入A_Price
任何人都可以帮助我吗?
答案 0 :(得分:0)
您的查询看起来不错,但您需要SET
到最高价格:
UPDATE a
SET A_Price = b.max_price
FROM TableA a
INNER JOIN
(
SELECT B_Name, MAX(B_Price) AS max_price
FROM TableB
GROUP BY B_Name
) b
ON a.A_Name = b.B_Name
WHERE
COALESCE(REPLACE(a.A_Price, ' ', ''), '') = '';