Postgresql

如何通過外鍵進行查詢,同時僅將值與另一列中用作外鍵的值在同一行

  • July 3, 2022

數據庫管理員,我需要你的幫助!

我直接使用 SQL 處理數據庫的經驗相當有限,因為我主要使用 ORM 來滿足我作為前端開發人員的所有需求,但這次我需要使用 SQL 在表中查找使用的令牌的表作為其外鍵*,其中(在表中)我只能訪問儲存在列中的資訊。tokens``id``usersusers*username**我正在使用 PostgreSQL 數據庫。

這是一個視覺化: 很酷的圖片

感謝你的幫助

您想出的答案可以工作,但如果您的子查詢產生多個結果(儘管我認為不太可能)並且可能比使用更相關的方法(例如使用JOIN評論中提到的類似 mustaccio)性能更低,則可能會出錯。您絕對應該閱讀它們,這將允許您生成如下查詢:

SELECT token 
FROM tokens 
INNER JOIN users
   ON tokens.id_ref = users.id
WHERE users.username = '<username>'

好的,所以在擺弄了一下之後,我找到了我的解決方案:

SELECT token FROM tokens WHERE id_ref = (SELECT id FROM users WHERE username = '<username>');

引用自:https://dba.stackexchange.com/questions/314019