[英]How to update table records with another table
我在更新表中的記錄時遇到問題。 我整天都在做研究,但是這超出了我的范圍。
基礎知識:我有兩個表
表格1
TABLE2
我需要使用表2中的ID更新表1中的nr_g,但僅當表1中的'kraj''區域''nazwa_hotelu'等於表2中的'國家''區域''酒店名稱'時
我到目前為止的嘗試:
UPDATE merlinx u
LEFT JOIN
merlinx_new s ON u.nr_g != s.id
SET
u.nr_g = s.id
WHERE
u.kraj = s.country AND u.nazwa_hotelu = s.hotelName AND u.region = s.region
那就是更新我只有4行...和1592是不安全的語句
我的另一個鏡頭:
UPDATE merlinx_merged
SET
nr_g = (SELECT
merlinx_new.id
FROM
merlinx_new
INNER JOIN
merlinx_merged
WHERE
merlinx_new.country = merlinx_merged.kraj
AND merlinx_new.hotelName = merlinx_merged.nazwa_hotelu
AND merlinx_new.region = merlinx_merged.region)
那只是拋出錯誤。
在浪費了8個小時之后,我的想法被炸了。 非常感謝您的幫助。
我認為您的問題在您的加入聲明中。 你有
LEFT JOIN merlinx_new s ON u.nr_g != s.id
您不必為此設置ON條件(如果我正確理解了您的問題)。
如果您希望所有條件都在WHERE子句中匹配,則要用merlinx_new.id的值覆蓋merlinx.nr_g,就可以做到這一點。
UPDATE merlinx u, merlinx_new s
SET u.nr_g = s.id
WHERE u.kraj = s.country AND u.nazwa_hotelu = s.hotelName AND u.region = s.region
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.