问题描述
- 怎么用sql满足这个需求?
-
dbo.Brand(品牌)dbo.BrandAttention(品牌关注)
现在有一个需求, 查询4个字段 其中3个字段是Brand表中的3个字段
KeyId, BrandName, BrandImage
最后一个字段需求是这样的:
这里一共有10个品牌, 如果当前品牌在BrandAttention表里被UserId为131的关注过,
ps: BrandAttention中出现相同的
则第4个字段的值为1, 否则第4个字段的值为0
最后查询效果为
解决方案
select t.*,(select count(*) from BrandAttention where userid='131' and 关联字段=Brand.关联字段) as IsAttention from Brand
解决方案二:
select
b.KeyID
,b.BrandName
,b.BrandImage
,(case when sum(ba.IsAttention) > 0 then '1' else '0' end) as IsAttention
from Brand as b
left join BrandAttention as ba
on b.KeyID = ba.BrandID
group by b.KeyID,b.BrandName,b.BrandImage
解决方案三:
易试互动 怎么IsAttention=1了呢?
时间: 2024-10-26 05:46:31