我有一個表 Table_A 的名稱和一個名為 type_and_cargo 的欄位。以下 Postgresql 查詢使用左連接從 Table_B 中獲取單獨的“型別”和“貨物”值
SELECT
a.type_and_cargo,
a.name
b.type_and_cargo,
b.type,
b.cargo FROM table_A a
LEFT JOIN table_B b USING (type_and_cargo)
但是 Table_A 中的某些行有一個 type_and_cargo,它在 Table_B 中沒有對應的值。現在,“type”和“cargo”列變為 Null。如果不匹配,如何將 a.type_and_cargo 分配給“type”,將 Unknown 分配給“cargo”?
uj5u.com熱心網友回復:
這會做嗎?
SELECT
a.type_and_cargo,
a.name
b.type_and_cargo,
CASE
WHEN b.type_and_cargo IS NULL THEN a.type_and_cargo
ELSE b.type
END as type
CASE
WHEN b.type_and_cargo IS NULL THEN 'Unknown'
ELSE b.cargo
END as cargo
FROM table_A a
LEFT JOIN table_B b USING (type_and_cargo)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/463047.html
標籤:sql PostgreSQL
