關(guān)于mysql聯(lián)合查詢一對多的顯示結(jié)果問題
問題描述
有兩張表,一張是user表,一張是user_tag表
user:結(jié)構(gòu)內(nèi)容如下:id name age1 有馬公生 182 宮園薰 16user_tag:結(jié)構(gòu)內(nèi)容如下:userid tagid remake1 10 10.21 20 10.31 30 10.42 20 10.3
需要在顯示user列表時把tagid也要查出來
聯(lián)合查詢:
SELECT `user`.`id`, `user`.`name`, `user`.`age`, `user_tag`.`tagid`FROM `user`LEFT JOIN `user_tag` ON `user`.id = `user_tag`.`userid`
得到的結(jié)果是:
id name age tagid1 有馬公生 18 101 有馬公生 18 201 有馬公生 18 302 宮園薰 16 20
這樣看起來結(jié)果是重復(fù)了,如我需要顯示userid=1 的結(jié)果是
1 有馬公生 18 10,20,30
這種或類似的格式,sql語句該怎么寫呢?實在不行只能是在程序上實現(xiàn)了!
問題解答
回答1:SELECT `user`.`id`, `user`.`name`, `user`.`age`, GROUP_CONCAT(`user_tag`.`tagid`)FROM `user`LEFT JOIN `user_tag` ON `user`.id = `user_tag`.`userid`GROUP BY `user`.`name`
相關(guān)文章:
1. android - 用textview顯示html時如何寫imagegetter獲取網(wǎng)絡(luò)圖片2. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能3. showpassword里的this 是什么意思?代表哪個元素4. javascript - windows下如何使用babel,遇到了困惑5. JavaScript事件6. python - 為什么正常輸出中文沒有亂碼,zip函數(shù)之后出現(xiàn)中文編程unicode編碼的問題,我是遍歷輸出的啊。7. javascript - js中向下取整8. android - rxjava多線程并發(fā)怎么控制順序9. 對mysql某個字段監(jiān)控的功能10. html - vue項目中用到了elementUI問題
