は私がuser
親と子のデータベーススキーマ
USER(表)
user_id name status_privilege(0=child,1=parent) added_user_id
2 abc 1
13 child_1 0 2
14 child_2 0 2
という名前のテーブルを持っている私は、ディスプレイuser_id = 2
すべてuser_id = 14,15
(すべての子のログイン)での(親の)データが欲しいです。そしてさんのデータをuser_id = 2
さんのデータに表示します。 (Viceversa)
そのために何をするのですか?
このクエリを試しました。
SELECT *,child.user_id as child_user_id,parent.user_id as parent_user_id
FROM user as parent
INNER JOIN user as child ON parent.user_id = child.user_added_id
WHERE child.user_id = '14'
ので、私はchild_user_id = 14 & parent_user_id = 2
を得ました。しかし、私は、クエリの下に置くとき、それは私に空白の結果を与えることを望みます。 (child.user_id = '2'
を変更)
SELECT *,child.user_id as child_user_id,parent.user_id as parent_user_id
FROM user as parent
INNER JOIN user as child ON parent.user_id = child.user_added_id
WHERE child.user_id = '2'
だから私はしたいが、私は、クエリを発射するときという単一のクエリあるユーザーが親である場合にも、私はそれは、子供のいたいよりuser_id ='2'
内のすべてのデータは、14 & 15ユーザーのデータを意味しています。また、すべての子で2番目のuser_idのデータ。
注:他の表のデータはすべてuser_id
ですので、それは可能ですか? 既存のプロジェクトの要件であるため、データベース構造を変更することはできません。それ以外の場合は、MySQLの親子構造の階層に従うことができます。
あなたが正確に証明する必要がありますか? –
私はすべての彼の子供の親のすべてのデータと親のすべての子のデータを表示したい。 – Bhavin
あなたは左に参加しようとしましたか? –