我有一個顯示搜索結果的查詢,我想添加一個字段來檢查每個結果是否顯示爲另一個表中的最佳結果。爲了保持它的簡單,因爲大多數搜索參數的只添加一些JOIN和WHERE並沒有我的問題很重要,讓我們考慮不存在具有所有正確的字段results
表:MySQL檢查結果是否被收錄
id | title | description
而且result_favourites表:
userid | resultid
下面是MySQL數據庫的查詢,得到的結果(再次沒有所有的簡單搜索審覈規定):
SELECT id, title, description FROM results
我要的是類似的東西(比方說用戶#1):
SELECT r.id r.title, r.description, (something here) AS is_favourited
FROM results AS r
RIGHT JOIN result_favourites AS rf ON rf.resultid = r.id
WHERE userid = 1
隨着is_favourited是是1(有與兩個用戶ID result_favourites至少一行和resultid匹配r.id和用戶ID = 1)或0(沒有)。
我試過使用COUNT(rf.userid) AS is_favourited
但沒有奏效。歡迎任何幫助!
完美,這作品!我曾嘗試過左和右,但是造成差異的原因是將userid = 1從WHERE移動到ON子句。出於某種原因在其中返回0結果的地方使用它。 – Davor