簡體   English   中英

用另一個表MySQL中的相應值更新多行

[英]Update multiple rows with corresponding values from another table MySQL

使用MySQL,我正在研究一個腳本,該腳本將從CSV文件導入數據。 我已經到了腳本完成的位置,可以為單個用戶導入數據,但是現在我想擴展到所有用戶。 我目前的陳述如下:

UPDATE werte 
    SET werte=(SELECT Date_Enrollment 
               FROM THKON01.data 
               WHERE auto_patient_id = 1020)
    WHERE folder_id = 1525 
    AND number=4;

現在,我想要的是使用所有用戶的注冊日期(因此,我將省略“ WHERE auto_ Patient_id ...”語句),並將其插入所有對應的行中。 問題就在這里。 我用這個語句一次嘗試了兩個用戶

UPDATE werte 
    SET werte=(SELECT Date_Enrollment 
               FROM THKON01.data 
               WHERE auto_patient_id = 1020
                   OR auto_patient_id = 1051)
    WHERE folder_id between 1524 AND 1525 
    AND number=4;

但是,這給了我一個錯誤,該錯誤表示“查詢返回多行”,是指SELECT Date_Enrollment的內部查詢。 請注意,auto_patient_id並未按順序編號,因此我不能在其中使用“之間”。

編輯:為澄清

我有兩張桌子。 werte是我想要將值存儲到的位置。 THKON01.data是我要從中讀取值的表。 在此示例的情況下,我希望將Date_Enrollment值寫入werte表。 假設我有3個用戶想要這樣做,那么THKON01.data的結構如下所示:

auto_patient_id    Date_Enrollment
1020               01.01.1911
1050               02.01.1912
1073               03.01.1913
...                ...

現在,我要將其插入如下所示的werte表中:

folder_id    werte
1525         <empty>
1526         <empty>
1527         <empty>
...          ...

我希望插入它們,以便將THKON01.data(01.01.1911)的第一個值復制到werte(folder_id 1525的字段)中的第一個值,將第二個(02.01.1912)復制到第二個(folder_id 1526)等等。 Folder_id按順序編號,auto_ Patient_id則沒有編號。 我希望這可以澄清一下。

如果您在字段auto_patient_idfolder_id之間有一些鏈接,則可以嘗試這樣的操作

UPDATE werte 
SET werte=(SELECT Date_Enrollment 
           FROM THKON01.data 
           WHERE (your_link))
WHERE number=4;

這里your_link可以是THKON01.data.auto_patient_id = werte.somefieldTHKON01.data.auto_patient_id = somefunction(werte.folder_id)

它將一次只選擇一個記錄,並更新屬於外部where條件的所有記錄。

更新

如果您想使用一些bash腳本,則可以使用smth這樣的

$folder_id = 1 # or some other start number
mysql -e "SELECT Date_Enrollment FROM THKON01.data" | while read Date_Enrollment; do
   mysql -e "update werte set werte = $Date_Enrollment where folder_id = $folder_id"
   $folder_id = $folder_id + 1
done

您說您的文件夾ID是有序的,因此我們每次只能添加1,而不是從結果中獲取它們。

我絕對不精通bash腳本編寫,因此該腳本可能無法正常工作,但我希望這個想法很明確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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