zoukankan      html  css  js  c++  java
  • SQL 集合例子

    IF OBJECT_ID('tempdb..#Purchase', 'U') IS NOT NULL
    DROP TABLE #Purchase;

    CREATE TABLE #Purchase
    (
    PurchaseID INT IDENTITY(1, 1) ,
    CustomerID INT ,
    ProductCode CHAR(1) PRIMARY KEY CLUSTERED ( PurchaseID )
    );
    INSERT INTO #Purchase
    ( CustomerID ,
    ProductCode
    )
    SELECT 1 ,
    'A'
    UNION ALL
    SELECT 1 ,
    'B'
    UNION ALL
    SELECT 2 ,
    'A'
    UNION ALL
    SELECT 2 ,
    'B'
    UNION ALL
    SELECT 2 ,
    'D'
    UNION ALL
    SELECT 3 ,
    'A'
    UNION ALL
    SELECT 3 ,
    'B'
    UNION ALL
    SELECT 3 ,
    'D'
    UNION ALL
    SELECT 3 ,
    'A'
    UNION ALL
    SELECT 3 ,
    'D'
    UNION ALL
    SELECT 4 ,
    'A'
    UNION ALL
    SELECT 4 ,
    'B'
    UNION ALL
    SELECT 4 ,
    'C'
    UNION ALL
    SELECT 5 ,
    'A'
    UNION ALL
    SELECT 5 ,
    'B'
    UNION ALL
    SELECT 5 ,
    'A'
    UNION ALL
    SELECT 5 ,
    'B'
    UNION ALL
    SELECT 5 ,
    'C'
    UNION ALL
    SELECT 5 ,
    'D'
    UNION ALL
    SELECT 6 ,
    'A'
    UNION ALL
    SELECT 6 ,
    'A'
    UNION ALL
    SELECT 6 ,
    'D'
    UNION ALL
    SELECT 6 ,
    'E'
    UNION ALL
    SELECT 7 ,
    'B'
    UNION ALL
    SELECT 7 ,
    'B'
    UNION ALL
    SELECT 7 ,
    'D'
    UNION ALL
    SELECT 7 ,
    'E'
    UNION ALL
    SELECT 8 ,
    'A'
    UNION ALL
    SELECT 9 ,
    'B';


    SELECT a.CustomerID ,
    a.PurchaseID ,
    a.ProductCode
    FROM #Purchase a
    WHERE ProductCode IN ( 'a', 'b' )
    AND NOT EXISTS ( SELECT *
    FROM #Purchase b
    WHERE a.CustomerID = b.CustomerID
    AND ProductCode NOT IN ( 'a', 'b' ) );

    SELECT a.CustomerID ,
    a.PurchaseID ,
    a.ProductCode
    FROM #Purchase a
    WHERE CustomerID IN (
    SELECT CustomerID
    FROM #Purchase b
    WHERE ProductCode IN ( 'a', 'b' )
    GROUP BY CustomerID
    HAVING COUNT(DISTINCT ProductCode) = ( SELECT COUNT(DISTINCT ProductCode)
    FROM #Purchase c
    WHERE c.CustomerID = b.CustomerID
    ) );

    SELECT CustomerID
    FROM #Purchase
    WHERE ProductCode IN ( 'A', 'B' )
    GROUP BY CustomerID
    HAVING COUNT(DISTINCT ProductCode) = 2
    EXCEPT
    --===== Find Customers that bought "C".
    SELECT CustomerID
    FROM #Purchase
    WHERE ProductCode IN ( 'C' );

    SELECT *
    FROM #Purchase;

  • 相关阅读:
    python流程控制
    数据类型
    python之初接触
    使用 HttpWebRequest 向网站提交数据
    在 ASP.NET MVC4 中使用 NInject
    第一篇 微信商城 开发前的准备工作
    (一)模块基础
    函数之递归、匿名函数及内置方法
    装饰器的使用原理
    mybatis返回list
  • 原文地址:https://www.cnblogs.com/pato/p/6432042.html
Copyright © 2011-2022 走看看