2017-02-06 65 views
0

我正在嘗試爲我的網站創建一個最喜歡的系統。我有一個用戶表,作業表和一個收藏夾表。當用戶將作業添加到他們的收藏夾時,他們的userId和jobsId被保存到收藏夾表中。當用戶想要查看他們的收藏夾時,我一直試圖選擇與當前用戶具有相同userId的收藏夾表中的所有行。然後我需要從這些行中選擇jobId,並選擇job表中具有匹配jobId的所有行。SQL選擇查詢收藏夾系統

我一直在嘗試此查詢的變體,但沒有任何運氣。

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

回答

0

你想從工作表,其ID是在用戶的收藏夾中的所有記錄。這翻譯爲:

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