所以我有這個疑問:爲什麼postgres不能理解對派生列的引用?
select
id,
unnest(suppliers) as suppliercode
from table1 t1
left join table2 t2
on t1.suppliercode = t2.suppliercode
的Postgres無法理解什麼叫:
on t1.suppliercode = t2.suppliercode
的t2.suppliercode造成混亂。爲什麼?你如何顯式調用新的派生列?
'suppliercode'不是t1'的'部分 - 'suppliers'是。你想把這個東西包裝在別名子查詢或'with'語句中以使其工作。 –
以下SQL系統的所有標準都會有類似的問題。從邏輯上講,'SELECT'子句在* FROM子句(包括連接)之後處理得很好。 –
「* t2.suppliercode引起混淆。爲什麼?*」 - 因爲這是SQL標準定義它的方式。 –