からいくつかのキーに基づいて複数の行を選択 - user_schedules
とuser_schedule_meta
、以下に示す:私は、クエリを書きたいMySQLの:私はこの2つのテーブル持っている2つの異なるテーブル
------------------------------------
| id | scheduler_id | status |
------------------------------------
1 3 pending
2 5 active
3 6 active
と
----------------------------------------------
| id | user_schedule_id | meta_key |meta_value
----------------------------------------------
1 3 course-id 135
2 3 session-id 15
3 3 schedule-id 120
をたとえば、以下の5つの条件のすべてが満たされている両方のテーブルから選択することができます:
- user_s chedule_id = 3
- scheduler_id = 6
- SESSION_ID = 15
- コース-ID = 135
- スケジュール-ID = 120
これは私がこれまで持っているものであるが、それは動作していません:
SELECT user_schedule_meta.`id` FROM user_schedule_meta, user_schedules
WHERE user_schedules.`scheduler_id` = 6
AND user_schedules.id = user_schedule_meta.`user_schedule_id`
AND (
(user_schedule_meta.`meta_key` = 'course-id' AND user_schedule_meta.`meta_value` = 135)
OR (user_schedule_meta.`meta_key` = 'session-id' AND user_schedule_meta.`meta_value` = 15)
OR (user_schedule_meta.`meta_key` = 'daily-schedule-id' AND user_schedule_meta.`meta_value` = 120)
)
GROUP BY user_schedule_meta.`id`
私が正しくやっていないことは何ですか?
でみてください。 –
@Suchit、 'user_schedule_meta'テーブルは' user_schedulesテーブル ' – NaijaProgrammer
の各エントリに関する追加情報を保持しています。 。彼らはあなたが 'または'ここで使用する必要がある別のテーブルの同じ列であるため、レコードを取得しません。 –