首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL联接列出并计数项

使用SQL联接列出并计数项
EN

Stack Overflow用户
提问于 2020-08-12 00:25:33
回答 1查看 245关注 0票数 2

我试图从这两张表格中建立一种基本的关系:

表产品

代码语言:javascript
复制
|--------|----------------|----------|
| PRO_Id | PRO_CategoryId | PRO_Name |
|--------|----------------|----------|
|      1 |             98 | Banana   |
|      2 |             98 | Apple    |
|--------|----------------|----------|

表类别

代码语言:javascript
复制
|--------|----------|
| CAT_Id | CAT_Name |
|--------|----------|
|     98 | Fruits   |
|     99 | Other    |
|--------|----------|

我需要的是这个输出:

代码语言:javascript
复制
|------------|
| Categories |
|------------|
| Fruits (2) |
|------------|

我想要一份报告,列出来自Categories的所有类别,但只有当来自Products的产品有一个链接时(带有实例形式的果实,而不是其他的)。

这就是我实际上所处的地方:

代码语言:javascript
复制
SELECT CAT_Name, COUNT(PRO_Name IN sum)
FROM Categories
JOIN Products
ON Products.PRO_CategoryId = Categories.CAT_Id as sum
ORDER BY CAT_Name ASC

有人帮我吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-12 00:27:00

你们很亲密。您需要清除查询中的垃圾并使用group by

代码语言:javascript
复制
SELECT c.cat_name, COUNT(*)
FROM Categories c JOIN
     Products p
     ON p.PRO_CategoryId = c.CAT_Id
GROUP BY c.CAT_Name ;

备注:

  • SELECT *不适用于聚合查询。您想要选择的是.
  • --它将计数放在一个单独的列中,这似乎是您的意图,尽管示例sense.
  • as sum没有使sense.
  • as sum没有意义。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63368109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档