簡體   English   中英

加入兩個mysql表來獲取true / false列

[英]Joining two mysql tables to get a true/false column

我正在使用PHP和MySql。 我正試圖找到一種從mysql表中選擇一些電影的方法,但除了電影表之外,我還有一個監視列表,用於存儲用戶ID和他/她添加到他/她的監視列表中的電影的movieID :

id        userID      movieID
=====================================
1          1            3
2          1            5
3          1            7
4          2            3
5          2            2
6          3            2

電影表看起來像這樣

movieID    title    duration
=============================
1          tit1       34:43  
2          tit2       35:43   
3          tit3       24:43     
4          tit4       34:13   
5          tit5       11:43    
6          tit6       22:43    
7          tit7       33:43  

我之后的結果是(例如ID為1的用戶):

movieID    title    duration   added
=======================================
1          tit1       34:43     false
2          tit2       35:43     false
3          tit3       24:43     true
4          tit4       34:13     false
5          tit5       11:43     true
6          tit6       22:43     false
7          tit7       33:43     true

有沒有辦法連接電影和監視列表表以產生所需的結果?

謝謝。

您可以使用LEFT JOIN獲取所需的輸出,然后在連接表中檢查NULL

SELECT m.*, IF(w.id IS NULL, 0, 1) AS added
FROM movies m 
LEFT JOIN watchlist w ON (m.movieID = w.movieID AND w.userID = 1)
GROUP BY m.movieID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM