我有以下2個表。MySQL,根據外鍵選擇多行作爲一個
| ID | NAME | AGE |
|----|------|-----|
| 0 | John | 30 |
| 1 | Nick | 35 |
| 2 | Mike | 30 |
| USERID | FRUIT |
|--------|------------|
| 0 | apple |
| 0 | orange |
| 1 | banana |
| 1 | tomato |
| 1 | grape |
| 1 | watermelon |
| 2 | pear |
| 2 | cherry |
我正在使用此查詢以獲得每個年齡爲< 34個喜歡的用戶的水果。
SELECT users.name, fruit FROM users,fruits WHERE users.id=fruits.userid AND users.age<34;
結果:
| NAME | FRUIT |
|------|--------|
| John | apple |
| John | orange |
| Mike | pear |
| Mike | cherry |
有沒有辦法只有一個返回行與一個或多個列的水果每個用戶?
期望的結果:
| NAME | FRUIT |
|------|---------------|
| John | apple,orange |
| Mike | pear,cherry |
或
| NAME | FRUIT | FRUIT |
|------|--------|--------|
| John | apple | orange |
| Mike | pear | cherry |
我嘗試使用GROUP_CONCAT(),但我沒有得到結果,我預計,任何幫助將是巨大的。
提前感謝您的時間。
向我們展示你的努力 – Strawberry 2014-10-08 21:08:47
正如我在主文章中說,我做了一些測試使用GROUP_CONCAT ()like'SELECT users.name,group_concat(fruit)from users,fruits where users.id = fruits.userid AND users.age <34;',我也嘗試過使用'group by'(?),但我沒有認爲這是正確的軌道。 我對sql語法不太熟悉,所以我沒有太多想法,任何有關我應該搜索的方向信息的鏈接都會很棒! – Stavros 2014-10-08 21:16:52
您的'JOIN'語法的注意事項:http://stackoverflow.com/questions/334201/why-isnt-sql-ansi-92-standard-better-adopted-over-ansi-89 – 2014-10-08 21:20:02