グループ階層の情報を持つテーブルとグループ名などの情報を持つテーブルがあります。
やりたい事としては以下の通りです。
1)上記2テーブルを結合させ、親グループID、グループ名を取得
2)1)で取得したグループが持つ子グループID,グループ名を取得
以下のSQLで実行しようとすると、タイトルに記載してある"JOIN 式はサポートされていません"というメッセージが
表示され、実行出来ない状態です。
SQL
1SELECT N1.parentid AS GroupID,G1.group_name AS GroupName 2FROM public_groupandpeople AS N1 INNER JOIN public_groups AS G1 ON N1.parentid = G1.group_id 3WHERE (N1.parentid='XXXXX') and Not (N1.parentid)='' 4GROUP BY N1.parentid,G1.group_name 5UNION 6SELECT N2.parentid AS GroupID,G2.group_name AS GroupName 7FROM ((public_groupandpeople AS N1 INNER JOIN public_groups AS G1 ON N1.parentid = G1.group_id) 8LEFT JOIN ((public_groupandpeople AS N2 INNER JOIN public_groups AS G2 ON N2.parentid = G2.group_id)) ON N1.childid = N2.parentid) 9WHERE (N1.parentid='GR00002Y') and Not (N2.parentid)='' 10GROUP BY N2.parentid,G2.group_name;
どこを直せばいいのか、まったく見当もつかない状態です・・・。
正しいSQLについて教えて頂けますと幸いです。
よろしくお願いいたします。
上記SQLはユニオンクエリになっていましたので、エラーが発生している方のクエリのみ切り離しました
SQL
1SELECT N2.parentid AS GroupID,G2.group_name AS GroupName 2FROM ((public_groupandpeople AS N1 INNER JOIN public_groups AS G1 ON N1.parentid = G1.group_id) 3LEFT JOIN ((public_groupandpeople AS N2 INNER JOIN public_groups AS G2 ON N2.parentid = G2.group_id)) ON N1.childid = N2.parentid) 4WHERE (N1.parentid='GR00002Y') and Not (N2.parentid)='' 5GROUP BY N2.parentid,G2.group_name; 6
エラー画像

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/29 09:05
2017/06/29 09:18
退会済みユーザー
2017/07/03 01:19 編集
2017/07/03 02:55
退会済みユーザー
2017/07/03 06:53
2017/07/04 21:15
退会済みユーザー
2017/07/07 02:42