SELECT a.tlbid, a.tlbname, a.slbid, count(1) AS diseasecount FROM tleibie a LEFT OUTER JOIN product b ON a.tlbid = b.tlbid WHERE (a.slbid = 115) GROUP BY a.tlbid, a.tlbname, a.slbid
结果:
330 口腔护理 115 1 (没有一个记录却结果是1而不是0)
331 手足护理 115 1 (没有一个记录却结果是1而不是0)
332 母婴护理 115 1 (没有一个记录却结果是1而不是0)
333 眼部护理 115 1 (没有一个记录却结果是1而不是0)
334 性病防护 115 1 (没有一个记录却结果是1而不是0)
335 祛斑祛痘 115 1 (确实有一个记录)
336 脱毛洗浴 115 1 (没有一个记录却结果是1而不是0)
我想得到结果是:
330 口腔护理 115 0
331 手足护理 115 0
332 母婴护理 115 0
333 眼部护理 115 0
334 性病防护 115 0
335 祛斑祛痘 115 1
336 脱毛洗浴 115 0
结果:
330 口腔护理 115 1 (没有一个记录却结果是1而不是0)
331 手足护理 115 1 (没有一个记录却结果是1而不是0)
332 母婴护理 115 1 (没有一个记录却结果是1而不是0)
333 眼部护理 115 1 (没有一个记录却结果是1而不是0)
334 性病防护 115 1 (没有一个记录却结果是1而不是0)
335 祛斑祛痘 115 1 (确实有一个记录)
336 脱毛洗浴 115 1 (没有一个记录却结果是1而不是0)
我想得到结果是:
330 口腔护理 115 0
331 手足护理 115 0
332 母婴护理 115 0
333 眼部护理 115 0
334 性病防护 115 0
335 祛斑祛痘 115 1
336 脱毛洗浴 115 0
解决方案 »
- 如何抽取某字段值最大的记录
- 大家谈谈自己用MSSQL的心得吧。随便谈谈。我最后为大家总结。赌博输了。没什么分。等有分了我会加上。各位。谈谈。
- 表与表外连接,1:N的关系,如何只取外连接表的第一行
- 如何只对datetime类型得日期进行group by操作?
- sqlserver存储过程问题 求大神来解决下
- 如何用SQL语句判断字符串长度
- 怎么合并2个表的数据。高手帮一下忙!
- 帮菜鸟解决新问题
- 急!!用ASP时出现“ADODB.Recordset 错误 '800a0cb3' ,当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。”错误!请问
- 在WINDOWS2003上安装MSSQL2000的问题
- 『木鱼』 SQL500 之代码:怎样才能使SQL代码既规范又美观
- |zyciis| 如何最大限度的提高我的查询 对一个表数据进行特别多的查询 200分求
WHERE (a.slbid = 115)
FROM tleibie a LEFT OUTER JOIN product b
ON a.tlbid = b.tlbid
WHERE (a.slbid = 115)
GROUP BY a.tlbid, a.tlbname, a.slbid
count(b.tlbid) AS diseasecount
FROM tleibie a LEFT OUTER JOIN product b
ON a.tlbid = b.tlbid
WHERE (a.slbid = 115)
GROUP BY a.tlbid, a.tlbname, a.slbid
--纠正一下2楼的写法.
SELECT a.tlbid, a.tlbname, a.slbid, sum(case when b.tlbid is null then 0 else 1 end) AS diseasecount
FROM tleibie a LEFT OUTER JOIN product b
ON a.tlbid = b.tlbid
WHERE (a.slbid = 115)
GROUP BY a.tlbid, a.tlbname, a.slbid
SELECT
a.tlbid,
a.tlbname,
a.slbid,
SUM(CASE WHEN b.tlbid IS NULL THEN 0 ELSE 1 END)
FROM tleibie a
LEFT OUTER JOIN product b
ON a.tlbid = b.tlbid
WHERE (a.slbid = 115)
GROUP BY a.tlbid, a.tlbname, a.slbid