T-SQL 查询通过查找表获取给定类别的某些内容

发布于 2024-11-09 05:59:22 字数 386 浏览 0 评论 0原文

我有三个表,两个是“数据”表,一个是连接(或查找)表。

地点表

  • PlaceId
  • 名称
  • 等...

类别表

  • CatId
  • 名称
  • 等...

PlaceCats 表

  • PlaceId
  • CatId

(在每个 Id 字段之间定义适当的关系) )

我想要做的是提取包含少于 5 个位置的类别...出于某种原因,我只需将注意力集中在 T-SQL 上即可实现这一点。

I've got three tables, two are "data" tables, one is a join (or lookup) table.

Place Table

  • PlaceId
  • Name
  • etc...

Categories Table

  • CatId
  • Name
  • etc...

PlaceCats Table

  • PlaceId
  • CatId

(with appropriate relationships defined between each Id field)

What I want to do is pull the categories that contain less than 5 Places... for some reason I just can wrap my mind around the T-SQL to make that happen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不顾 2024-11-16 05:59:22
SELECT * 
FROM Categories 
WHERE CatId IN 
(
    SELECT CatId  
    FROM PlaceCats
    GROUP BY CatId
    HAVING COUNT(*) < 5
)
SELECT * 
FROM Categories 
WHERE CatId IN 
(
    SELECT CatId  
    FROM PlaceCats
    GROUP BY CatId
    HAVING COUNT(*) < 5
)
度的依靠╰つ 2024-11-16 05:59:22

要获取原始数据:

select CatID, count(*)
来自 PlaceCats
按 CatID 分组
有 count(*) < 5

To get the raw data:

select CatID, count(*)
from PlaceCats
group by CatID
having count(*) < 5

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文