所以我有這個用 Postgres 撰寫的簡單查詢:
SELECT cp.contest_id, cp.username, user.rating FROM contest_participants cp
JOIN users user ON user.username = cp.username WHERE contest_id = '?';
我不斷收到這個錯誤:
ERROR: syntax error at or near "."
LINE 1: SELECT cp.contest_id, cp.username, user.rating FROM contest_...
如果我更改user表別名,它就像一個魅力,但讓我不知道為什么會這樣。別名是否有問題,或者它可能是資料庫中整個架構結構的其他問題?
據我所知,查詢與我所做的選擇是隔離的,對嗎?
uj5u.com熱心網友回復:
在 Postgres SQL 中,user是一個保留關鍵字,不能用作別名或其他資料庫物件名稱,請參閱此處的檔案。
為了立即修復,您可以在雙引號中轉義別名:
SELECT cp.contest_id, cp.username, user.rating
FROM contest_participants cp
JOIN users "user" ON "user".username = cp.username
WHERE contest_id = '?';
或者,您可以只是一個別名,例如usr,它無需轉義就可以表達相同的含義。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/504847.html
標籤:sql PostgreSQL 选择 别名
下一篇:查找隨時間的價格變化
