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;

  • 相关阅读:
    使用mt_rand代替rand
    array_diff 不注意的坑
    stackoverflow 技术问答社区
    js检查浏览器是否处于隐身模式
    api数据接口
    图像识别api
    ionic creator(ionic生成器)
    商城金币设计
    details和summary标签
    iOS多线程编程之NSOperation的基本操作
  • 原文地址:https://www.cnblogs.com/pato/p/6432042.html
Copyright © 2011-2022 走看看