나는이 두 테이블이에서 여러 키를 기준으로 여러 행을 선택 - user_schedules
및 user_schedule_meta
을, 아래 :MySQL은 두 개의 서로 다른 테이블
------------------------------------
| 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.id = user_schedule_meta.user_schedule_id'에 합류하고 사용자의 상태가'user_schedule_id = 3 and scheduler_id = 6' 인 경우'user_schedules 테이블' – NaijaProgrammer
의 각 항목에 대한 추가 정보를 담고 있습니다 . 그들은 당신이'또는'여기서 사용해야하는 다른 테이블의 같은 열이기 때문에 어떤 레코드도 얻지 못할 것입니다. –