簡體   English   中英

如何用另一個表更新表記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM