![](/img/trans.png)
[英]SQL Server - Set a variable if a value from one table exists in another
[英]SQL: At least one value exists in another table
我正在嘗試創建一個包含名為user_id
和top5_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.