我想要做的事情,我假設很簡單,但它讓我難住。postgreSQL:使用JOIN和UPDATE更新另一個表的數據來自另一個表
我有一個傢俱桌子,其中包括一個名爲「類別」(牀,椅子,桌子等)的文本列和一個類別表,它們將這些類別中的每一個在名爲categoryname的列中與類別ID(這是添加的應團隊成員的要求,方便搜索)。
我想根據傢俱表中的類別列與類別表中的類別名稱列是否匹配,使用這些類別ID填充傢俱表中的列。
解決此網站搜索和其他地方後,我決定試試這個:
UPDATE furniture
SET categoryid = categories.categoryid
FROM categories
WHERE categories.categoryname = furniture.category
其中運行,但沒有任何反應。
我假設這是因爲WHERE語句不足以讓我想要做什麼,我需要某種JOIN語句來顯式鏈接類別表中的類別名稱列與類別列傢俱桌子,但我怎麼做到這一點?我最好的猜測基於其他人的工作是這樣的:
UPDATE furniture
INNER JOIN categories ON categories.categoryname = furniture.category
SET furniture.categoryid = categories.categoryid
WHERE categories.categoryname = furniture.category
但它只是給我語法錯誤。
(我檢查,以確保類別名稱和類別列匹配的拼寫等方面)
退房這個帖子:http://stackoverflow.com/questions/224732/sql-update-from-one-table-to-another-based-on -a-id-match?rq = 1 –
您是使用Microsoft SQL Server還是Postgres? –
我正在使用pgAdmin – GraceOmega