0

次のテーブルがあります。

+--------+    +-------+    +----------+    +-------+
| blogs  |    | users |    | blogtags |    | tags  |
+--------+    +-------+    +----------+    +-------+
| bid    |    | uid   |    | bid      |    | tid   |
| uid    |    | name  |    | tid      |    | tag   |
| title  |    +-------+    +----------+    +-------+
+--------+

残念ながら、MySQL サーバーが Web サーバーとは別であるという制限があります。そのため、データベース呼び出しを最小限に抑えたいと考えています。

私はこのような結果を得たい:

入札 | タイトル | ユーザー名 | タグ1 タグ2 タグ3 |

タグを 1 つの文字列に連結します。

最初の質問だと思います-これは可能ですか。次に、親切な SO コミュニティが、これを行う方法についていくつかのガイダンスを提供してくれます。

私は一日中働いていて、これを解決しようとしても頭が回転しています. いくつかの結合、グループ結合、おそらくサブクエリが必要になることはわかっていますが、それについて考えるのに迷っています。前もって感謝します

4

1 に答える 1

1
select bid, title, users.name, group_concat(tags.tag)
from blogs inner join users on blogs.uid=users.uid
inner join blogtags on blogs.bid=blogtags.bid
inner join tags on tabs.tif=blogtags.bid
group by bid, title, users.name
于 2013-10-08T18:01:59.713 に答える