我在想爲什麼這個MySQL查詢不起作用。使用連接和嵌套選擇嘗試編譯用戶信息列表時出錯
MySQL正在申報「你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的'訂閱AS子INNER JOIN正確的語法手冊(SELECT UserID
如UID從subscriptions
「位於第1" 行
目標:我試圖讓所有的都在指定用戶的房間的用戶的不同的用戶信息列表
表結構:
‘訂閱’表結構 - 表用戶所在的所有房間的總數
- SubscriptionID (自動遞增)
- RoomID
- 用戶名
「用戶」 表結構 - 表包括用戶帳戶的詳細信息
- ID(自動遞增)
- 綽號
- 狀態
- 約
- 等。
查詢,我至今:
SELECT * from 'subscriptions' AS sub
INNER JOIN (SELECT `UserID` as uid from `subscriptions` WHERE RoomID = sub.RoomID)t on t.uid = users.id
WHERE sub.UserID = '1'
我已經完成了一些以上述方式獲取用戶信息的東西..但我一直在尋找一種稱爲「性能」的升級。爲了執行類似於上面列出的操作,我必須首先獲得用戶所在房間的明確列表。然後,獲取用戶所在房間中所有用戶的明確列表。然後,將每個房間中的所有成員編譯到一個列表中,並分別爲每個找到的用戶查詢用戶信息表。當然有一個更有效率和更合乎邏輯的方式來實現這個目標。
選擇訂閱*:使用反引號不單引號 –
這是相當愚蠢的錯誤..但現在它拋出「#1054 - 未知列'sub.RoomID'在'where子句'」 – Harold