您好我一直在研究和有問題與MySQL查詢。
我有一個名爲「朋友」的表,它具有列:id,user1和user2。 我想創建一個查詢,我可以得到1條記錄,結果與來自user1列的所有用戶以及來自user2列的與特定用戶相關的所有用戶連接,以便獲得包含所有用戶的結果朋友。例如,表中的「朋友」可能含有:多個查詢concat
****friends**** id user1 user2 0 33 1 1 33 2 2 34 25 3 3 33 4 27 33
結果我要的是一個名爲「友誼」的數據是包含「1,2,3,27」,因爲這些都是一個串記錄與用戶33是朋友的用戶ID。我能夠運行:
SELECT (CAST(GROUP_CONCAT(user2) AS CHAR(10000) CHARACTER SET utf8)) as friendships from friends where user1 =33
將返回「1,2」,我可以扭轉它在一個單獨的查詢來獲取「3,27」,不過,我想獲得的結果在一個查詢如果可能的話!所有的幫助表示讚賞:)
寫兩個查詢和使用UNION這應該工作:http://www.mysqltutorial.org/sql- union-mysql.aspx – 2012-01-27 21:42:49
我繼續嘗試聯合方法,結果是正確的,但是,我仍然有一個問題將它們連接成一個結果。與工會即時做
,但它不是在一個逗號分隔結果 – 2012-01-27 21:51:10爲什麼鑄造group_concat?它已經返回一個字符串,它將被客戶端軟件視爲char/varchar/text。 – 2012-01-27 22:04:59