私は2つのテーブルを持っています.1つのテーブルはユーザ用で、もう1つのテーブルはuser_interested_in_whoテーブルです。ユーザーが別のユーザーに関心がある場合条件付きのMySQL結合?
アイデアがある、私はuser_interested_in_whoテーブルにそれらの二人のユーザーのIDを挿入します
私のテーブルのスキーマです:
Users user_interested_in_who
id id
name this_user (id from the users table)
interested_in_this_user (id from the users table)
interested_or_not (1 = yes, 0 = no)
だから私はしたいです一緒に参加することによって、私のテーブルを照会するために、私のクエリは、このようなものです:
SELECT users.id, users.name, user_interested_in_who.interested_or_not
FROM users
LEFT JOIN user_interested_in_who
ON user_interested_in_who.this_user = 1 *//1 is the id of the current log in user*
GROUP BY users.id
このクエリの問題はinterested_or_not列すべてが持っているということです。1.場合でも、 interested_or_not列には、レコードに0を持っている
私の質問にはレコードがuser_interested_in_whoテーブルに見つからない場合、私はそれがNULLを返すために照会することができると私はレコードが0であればuser_interested_or_not欄に0を返すように、それをどのように照会することができる方法です
編集:
どのように私はそれがテーブルのこの種を返すことができます:
table:
id | name | interested_or_not
1 jess NULL
2 erika 1
3 jil 0
4 adrian NULL
....
1050 mich 1
@Alanからの回答はあなたの望むものに近いと思います。しかし、誰に興味があるのか、誰がPeron1とPerson2に簡素化すべきかの構造。なぜ人のペアのレコードを1:2,1:3,1:4にして、2:1,3:1,4:1の逆のレコードを作成するのですか?両方のデータの組み合わせを可能にする膨大なデータが得られます。 – DRapp