簡體   English   中英

SQL:至少一個值存在於另一個表中

[英]SQL: At least one value exists in another table

我正在嘗試創建一個包含名為user_idtop5_foods的列(二進制列)的表。 我目前有兩張表,一張包含所有user_id和與這些user_id關聯的食物,一張表僅包含根據 select top5 食物的計算類型的 top5 食物。

我嘗試創建的表是否具有user_id列,並且如果他們最喜歡的食物中至少有一種在top_5_food表中,則將top5_foods的值設置為 1,如果沒有,則設置為 0。

類似於以下內容:

user_id     top5_foods
----------------------
34223          1
43225          0
34323          1

我曾嘗試使用CASE命令,但它只是復制user_id並在找到 top_5_foods 表中的食物時標記 1 或 0。 但我不希望它重復。 能否請你幫忙?

非常感謝

如果我理解正確, left join和聚合:

select uf.user_id,
       (count(t.food_id) > 0) as top5_foods
from user_foods uf left join
     top5_foods t
     on uf.food_id = t.food_id
group by uf.user_id;

暫無
暫無

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

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