[英]PostgreSQL multi-table query with name, first_name, and last_name
我的PostgreSQL數據庫中有兩個表。
一個名為“ Archive”的表具有一個名為“ name”的列,該列是兩個單詞的名字和姓氏,例如“ John Smith”,還有一個空列,希望填充“ user_id”。
第二個表稱為“用戶帳戶”,具有三列,一列為“ first_name”,一列為“ last_name”,一列為“ id”。
我的目標是實現一個查詢,該查詢使用“存檔”中的列為用戶帳戶中的相應first_name和last_name進行選擇,然后將“ id”返回到“ user_id”列中進行存檔
您可以使用join
。 例如:
select a.*, ua.id as user_id
from archive a left join
user_accounts ua
on a.name = ua.first_name || ' ' || ua.last_name;
如果您實際上要更新列:
update archive a
set user_id = ua.id
from user_accounts ua
where a.name = ua.first_name || ' ' || ua.last_name;
請注意,名稱匹配可能非常棘手。 您可能不會獲得預期的匹配數。 如果發現這是一個問題,請問另一個問題 。 在問題中包括樣本數據和所需結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.