Welcome to Sign in | Help

Re: Operatorul de diferenta pe SQL Server

  •  10-18-2007, 11:13 PM

    Re: Operatorul de diferenta pe SQL Server

    Poti face diferenta cu un simplu LEFT | RIGHT OUTER JOIN.

    Exemplu:

    CREATE TABLE T1 (C1 CHAR(1), C2 INT)
    CREATE TABLE T2 (C1 CHAR(1), C2 INT)

    INSERT INTO T1 (C1, C2)
    SELECT Q.C1, Q.C2
    FROM
    (
    SELECT 'A' AS C1, 101 AS C2
    UNION
    SELECT 'B', 102
    UNION
    SELECT 'C', 103
    UNION
    SELECT 'D', 104
    UNION
    SELECT 'E', 105
    ) AS Q

    INSERT INTO T2 (C1, C2)
    SELECT Q.C1, Q.C2
    FROM
    (
    SELECT 'A' AS C1, 101 AS C2
    UNION
    SELECT 'B', 102
    UNION
    SELECT 'X', 106
    ) AS Q

    --DIFERENTA PROPRIU-ZISA; T1-T2 = INREGISTRARILE DIN T1 CARE NU SUNT IN T2
    SELECT T1.C1, T1.C2
    FROM T1 LEFT OUTER JOIN T2 ON T1.C1 = T2.C1 AND T1.C2 = T2.C2
    WHERE T2.C1 IS NULL

     

View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems