簡體   English   中英

MySQL的聯接和空

[英]mysql join and null

我有2個表格“瀏覽器”和“投票”。 我需要所有瀏覽器,並且只需要vote_ranking和user_id的票即可。 有時沒有選票,但我仍然需要瀏覽器。 那就是我寫的代碼:

SELECT browsers.*, votes.*
FROM browsers LEFT JOIN votes ON browsers.app_id = votes.app_id
WHERE vote_ranking = '$ranking' AND user_id = $userid or vote_id IS NULL

問題是當沒有投票時(vote_id IS NULL),app_id更改為NULL。 但是,即使沒有app_id投票,我也需要保持瀏覽器app_id。

我可以只在有一個表決ID的行上加入表表決嗎? 或任何類似的事情來滿足我的需求?

謝謝

嘗試這個:

SELECT browsers.*, votes.vote_ranking, votes.user_id
FROM browsers
LEFT JOIN votes
  ON browsers.app_id = votes.app_id
  AND vote_ranking = '$ranking' 
  AND user_id = $userid

這樣, 只有當投票記錄具有適當的vote_ranking時,投票的相應記錄才會被加入。 否則將存在NULL ,但是您仍將保留來自browsers的數據。

暫無
暫無

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

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