PostgreSql是區分大小寫的,如果別名的大小不一致就會提示錯誤:
SELECT * FROM ( SELECT cpi."product_item_id" "PRODUCT_ITEM_ID" FROM prd.up_product_item cpi ) a WHERE a.PRODUCT_ITEM_ID=1
一個很簡單的子查詢,但是會出錯,雖然從語句上看大小寫是一致的,但是內部查詢中還是使用了小寫。PostgreSql對於大寫都需要加上雙引號的,不然還是視作小寫而定。正確的寫法如下:
SELECT * FROM ( SELECT cpi."product_item_id" "PRODUCT_ITEM_ID" FROM prd.up_product_item cpi ) a WHERE a."PRODUCT_ITEM_ID"=1