私は3つのテーブル、ユーザーテーブル、コーステーブル、および隠されたコーステーブルを持っています。3つのテーブルのMySQL複合結合
隠しコーステーブルには、user_id
カラムとcourse_id
カラムが含まれています。
「コース1」のすべてのユーザーのすべての隠しコースの表情報を確認したいとします。私は私のデータを取得すると、私はそれを含める:
- は
- がcourses.id hidden_courses.id
- courses.title
- user.id
- user.name
私はこのクエリを実行するためにいくつかのことを試みてきましたが、必ずしもカラムを正しく埋めるとは限りません。コース情報は常に「コース1」からのものであり、すべてのユーザーのリストであることが必要です。存在しない可能性があるのはhidden_courses.id
だけです。
SELECT hc.id, u.id, u.name, c.id, c.title
FROM hidden_courses AS hc
RIGHT JOIN users AS u ON u.id = hc.user_id
RIGHT JOIN courses AS c ON c.id = hc.course_id
私はLEFTを使用してクエリを実行する必要がありJOINS代わりに、ユーザーテーブルから選択します。ここでは
は私がしようとしていた何ですか?私もそれで成功しなかった。
コースとユーザーテーブルの間には関係がありません。私は3人のユーザーと、user1とcourse1のための1つの隠されたコース記録を持っていると言うことができます。私は出力になりたいでしょう:私は、一般的に理解しやすいようにLEFT JOIN
のを見つけ
私は信じていますが、これは「複合体」とはみなされません。 :-) –
'users'と' courses'の関係は何ですか? –
テーブル構造、いくつかのサンプルデータ、そして期待される出力をサンプルデータとして与えると、それははるかに簡単に答えることができます。参照してください:http://stackoverflow.com/help/how-to-ask –