0

member_idparent_idおよびテーブルに従って、テーブル「メンバー」からparent_nameとsponsor_nameをフェッチしようとsponsor_idしていmember_treeます。

以下のクエリを試しましたが、なぜ機能しなかったのかわかりません。

SELECT mt.member_id, mt.parent_id, mt.sponsor_id, mt.member_name, m.member_name as parent_name , m1.member_name as sponsor_name 
FROM `member_tree` mt 
LEFT JOIN `member` m ON mt.parent_id = m.member_id 
LEFT JOIN `member` m1 ON mt.sponsor_id = m1.member_id 
WHERE mt.`member_id` IN ( 1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,1000026,1000027,1000028,1000029,1000030 )

Mysql テーブル

ありがとうございました。

4

3 に答える 3

1

このクエリは正常に機能します。フィドルで確認できますhttp://sqlfiddle.com/#!2/499e95/1

ただそれを確認してください

mt.member_nameと書いたように、両方のテーブルに member_name フィールドがありますかmt はmember_treeテーブルを参照します

member_tree テーブルにメンバー名がない場合は、フィドルからこのクエリを使用しますhttp://sqlfiddle.com/#!2/5d2bd/1

SELECT mt.member_id, mt.parent_id, mt.sponsor_id, m.member_name, 
m1.member_name as parent_name , m2.member_name as sponsor_name 
FROM `member_tree` mt 
LEFT JOIN 
`member` m ON mt.member_id = m.member_id 
LEFT JOIN 
`member` m1 ON mt.parent_id = m1.member_id 
LEFT JOIN 
`member` m2 ON mt.sponsor_id = m2.member_id 
WHERE mt.`member_id` 
IN (1000015,1000016,1000017,1000018,1000019,1000020,1000021,1000022,1000023,1000024,1000025,100    0026,1000027,1000028,1000029,1000030 )
于 2013-10-16T11:20:08.487 に答える
0

親 ID とスポンサー ID の外部キーが存在することを確認できますか。そうでない場合は、member_ids 1000007 から 1000014 がメンバー テーブルに存在することを確認できます。

于 2013-10-16T11:03:46.223 に答える
0

私には問題ないように見えますが、おそらくこのように書くでしょう。

于 2013-10-16T10:50:04.700 に答える