この投稿は dz215136304 によって最終編集されました: 2013-07-28 11:58:31
テーブル
id pid title
1 0 タイトル 1
2 0 タイトル 2
3 2 タイトル 3
4 2 タイトル 4
5 2 タイトル5
6 5 タイトル 6
要件は、テーブル内のすべてのデータを検索することです。pid が他のデータ ID と等しい場合、フィールド内のデータは pid とフィールドによって自動的に生成されます。で割ると、効果は次のようになります
id pid title pidss
1 0 タイトル 1
2 0 タイトル 2 3,4,5
3 2 タイトル 3
4 2 タイトル 4
5 2 タイトル 5 6
6 5 タイトル 6
ディスカッションへの返信 (解決策)
この
select a.*, pidss from tbl_name a left join (select *, group_concat(id) as pidss from tbl_name where pid>0 group by pid) t on a.id=t.pid
ログイン後にコピー
については何も複雑なことはありません
しかし、より深く考えると、必ずしもあなたが期待しているものとは限りません
来て見てください。
2 階は正しいです。データが失われないようにするためのリンクとして使用されます。group_cancat 関数を使用して、単一値の属性をプログラムの複数値の属性に接続します。
group_cancat 関数で解決できます
group_concat
勉強になりました、良かったです。
勉強になりました、悪くありません、これまであまり知りませんでしたが、今では理解できました
勉強になりました、勉強になりました、良かったです