2017-02-06 5 views
0

Я пытаюсь создать любимую систему для своего сайта. У меня есть таблица пользователя, таблица заданий и таблица избранных. Когда пользователь добавляет задание в свои избранные, их userId и этот jobsId сохраняются в таблице избранных. Когда пользователь хочет увидеть свои избранные, я пытаюсь выбрать все строки в таблице избранных, которые имеют тот же самый userId, что и текущий пользователь. Затем мне нужно выбрать jobId из этих строк и выбрать все строки в таблице заданий, которые имеют соответствующий jobId.SQL Select Query для избранных систем

Я пробовал варианты этого запроса, но не имел никакой удачи.

$sqlQuery = "SELECT * FROM job WHERE id = favorites.jobId AND :userId = favorites.userId" 

ответ

0

Вы хотите, чтобы все записи из таблицы заданий, чьи идентификаторы в избранном пользователе. Это означает, что:

select * from jobs where id in 
(
    select jobid from favorites where userid = :userid 
); 
+0

Это сработало! Спасибо! – KevinDunbar

0

Как насчет:

Select j.* 
from job j 
     join favorites f on j.id = f.jobId 
where :userId = f.userId