亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復“缺少表的 FROM 子句條目”錯誤

如何修復“缺少表的 FROM 子句條目”錯誤

Go
鳳凰求蠱 2023-07-10 14:24:52
我正在嘗試根據游戲 ID 獲取平臺名稱。我有如下三個表,我正在嘗試加入它們以獲得所需的結果:      GamesId | .....| .....|---|------ ------|1  | .    | .    |2  | .    | .    |3  | .    | .    |4  | .    | .    |      Game_PlatformsId |....|game_id| platform_id|...|---------------------------------1  | .  | 1     |   1        |.. |2  | .  | 1     |   2        |.. |3  | .  | 3     |   3        |.. |.. | .  | 4     |   4        |.. |    PlatformsId| ...|...| name    |---------------------|1 | .  | . | iOS     |2 | .  | . | Android |3 | .  | . | Windows |4 | .  | . | SteamOS |type Platforms struct {   Name string}var name []Platformsquery = postgres.Db().Select("name").        Joins("JOIN games ON games.id = game_platforms.game_id").        Joins("JOIN game_platforms ON game_platforms.platform_id = platforms.id").        Where("games.id = 1").Find(&name)我希望獲得平臺名稱,但出現錯誤:pq:缺少表“game_platforms”的 FROM 子句條目我認為我寫的連接命令不正確,但看起來合乎邏輯,也許我錯了。
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

您的查詢缺少該FROM子句。

我假設您想從表中選擇數據platforms。如果是,那么(根據您的代碼)您應該與第game_platforms一個然后與games.

query = postgres.Db().Select("name").
    Find("platforms"). // <------ this one
    Joins("JOIN game_platforms ON game_platforms.platform_id = platforms.id").
    Joins("JOIN games ON games.id = game_platforms.game_id").
    Where("games.id = 1").Find(&name)


查看完整回答
反對 回復 2023-07-10
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

所以我的問題的答案并不是沒有@novalagung的支持,
歸功于他,所以我需要將查詢更改為如下所示

query = postgres.Db().Select("name").
    Joins("JOIN game_platforms ON game_platforms.platform_id = platforms.id").
    Joins("JOIN games ON games.id = game_platforms.game_id").
    Where("games.id = 1").Find(&name)

但是我有一個錯誤,說pq: 列引用“name”不明確
但這是我的錯,因為我沒有指定有問題的所有表,因此需要做一些小的更改來解決此錯誤是Select("platforms.name ”)。


查看完整回答
反對 回復 2023-07-10
  • 2 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號