在SQL Server中将Count()与自联接一起使用

用户名

我正在使用罗斯文数据库,我的练习是:

哪些供应商提供同一类别的两种产品?显示公司名称,类别和两个产品名称

我的代码:

SELECT DISTINCT 
    c.CategoryID, s.CompanyName, p1.ProductName, p2.ProductName
FROM 
    Suppliers s 
INNER JOIN 
    Products p1 ON s.SupplierID = p1.SupplierID
INNER JOIN 
    Products p2 ON p1.CategoryID = p2.CategoryID 
                AND p1.ProductID <> p2.ProductID
INNER JOIN 
    Categories c ON p2.CategoryID = c.CategoryID
GROUP BY 
    c.CategoryID,s.CompanyName, p1.ProductName, p2.ProductName`

我怎样才能筛选与COUNT()我试图做到这一点HAVING,但我失败了。我会感谢您的帮助,这使我重新回到正确的道路上。

伊亚达夫(iamdave)

基于戈登的答案,下面的代码将获取您需要的所有数据。如果绝对必须将两种产品放在同一行中,则可以使用pivot

select s.CompanyName
        ,p.ProductName
from Suppliers s
    -- This join filters your Suppliers table to only those with two Products in the same Category
    inner join (select SupplierID
                        ,CategoryID
                from Products
                group by SupplierID
                        ,CategoryID
                having count(1) = 2
                ) pc
        on(s.SupplierID = pc.SupplierID)

    -- This join returns the two products in the Category returned in the join above.
    inner join Products p
        on(s.SupplierID = p.SupplierID
            and pc.CategoryID = p.CategoryID
            )

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在子查询SQL Server中将max(col)与count一起使用

来自分类Dev

在SQL Server中将CASE与JOIN语句一起使用

来自分类Dev

在SQL Server中将MIN函数与group by一起使用

来自分类Dev

在UWP中将实体框架与SQL Server一起使用

来自分类Dev

在SQL Server中将sum与order by子句一起使用

来自分类Dev

SQL Server:与 WHERE 一起使用的 COUNT

来自分类Dev

SQL:与Clob一起使用count

来自分类Dev

将更新与内部联接一起使用SQL SERVER 2012

来自分类Dev

如何在SQL Server查询中与with和内部联接一起使用?

来自分类Dev

如何在MS SQL中将last_value与group by with count一起使用?

来自分类Dev

将SQL聚合函数与多个联接一起使用

来自分类Dev

将SUM函数与SQL联接一起使用

来自分类Dev

是否可以在Python中将SQLite3与Microsoft SQL Server一起使用?

来自分类Dev

在SQL Server中将%通配符与'in'运算符一起使用

来自分类Dev

在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

来自分类Dev

在SQL Server中将CASE语句与SUM函数一起使用

来自分类Dev

SQL Server:在存储过程中将IF与as一起使用

来自分类Dev

在SQL Server中将%通配符与'in'运算符一起使用

来自分类Dev

在Windows应用程序中将Windows身份验证与Sql Server一起使用

来自分类Dev

在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

来自分类Dev

在SQL Server中将局部变量与“ use”语句一起使用

来自分类Dev

如何在 SQL Server 2017 中将 RIGHT OUTER JOIN 与 GROUP BY 一起使用?

来自分类Dev

如何在SQL Server中一起使用count,case和Distinct

来自分类Dev

如何在SQL Server中一起使用count,case和Distinct

来自分类Dev

在SQL中将LIKE'%'与整数一起使用

来自分类Dev

在SQL中将SUM CASE与IN一起使用

来自分类Dev

与SQL Server 2008 R2中的内部联接一起使用时,哪里不存在

来自分类Dev

使平均与SQL子句中的count一起使用

来自分类Dev

SQL Server是将合并联接与非聚集索引一起使用还是合并联接仅需要聚集索引?

Related 相关文章

  1. 1

    在子查询SQL Server中将max(col)与count一起使用

  2. 2

    在SQL Server中将CASE与JOIN语句一起使用

  3. 3

    在SQL Server中将MIN函数与group by一起使用

  4. 4

    在UWP中将实体框架与SQL Server一起使用

  5. 5

    在SQL Server中将sum与order by子句一起使用

  6. 6

    SQL Server:与 WHERE 一起使用的 COUNT

  7. 7

    SQL:与Clob一起使用count

  8. 8

    将更新与内部联接一起使用SQL SERVER 2012

  9. 9

    如何在SQL Server查询中与with和内部联接一起使用?

  10. 10

    如何在MS SQL中将last_value与group by with count一起使用?

  11. 11

    将SQL聚合函数与多个联接一起使用

  12. 12

    将SUM函数与SQL联接一起使用

  13. 13

    是否可以在Python中将SQLite3与Microsoft SQL Server一起使用?

  14. 14

    在SQL Server中将%通配符与'in'运算符一起使用

  15. 15

    在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

  16. 16

    在SQL Server中将CASE语句与SUM函数一起使用

  17. 17

    SQL Server:在存储过程中将IF与as一起使用

  18. 18

    在SQL Server中将%通配符与'in'运算符一起使用

  19. 19

    在Windows应用程序中将Windows身份验证与Sql Server一起使用

  20. 20

    在SQL Server中将COALESCE(或类似的东西)与GROUP BY一起使用

  21. 21

    在SQL Server中将局部变量与“ use”语句一起使用

  22. 22

    如何在 SQL Server 2017 中将 RIGHT OUTER JOIN 与 GROUP BY 一起使用?

  23. 23

    如何在SQL Server中一起使用count,case和Distinct

  24. 24

    如何在SQL Server中一起使用count,case和Distinct

  25. 25

    在SQL中将LIKE'%'与整数一起使用

  26. 26

    在SQL中将SUM CASE与IN一起使用

  27. 27

    与SQL Server 2008 R2中的内部联接一起使用时,哪里不存在

  28. 28

    使平均与SQL子句中的count一起使用

  29. 29

    SQL Server是将合并联接与非聚集索引一起使用还是合并联接仅需要聚集索引?

热门标签

归档