-6

このクエリでは 2 行が表示されますが、結果は 1 行しか表示されません。理由がわかりません。結果を2行にしたい。

 SELECT *
 FROM table AS S1
      INNER JOIN table AS S2
        ON S1.code = S2.code
 WHERE  S1.column1 IS NULL
   AND S2.column1 IS NOT NULL

これが私が期待している出力です:

期待される出力:

ID    login    email         code    column1
--------------------------------------------
96    testid1  test-Email1   XPQR    NULL
97    testid1  test-Email1   XPQR    P    
4

1 に答える 1

2

ただの大げさな推測:

SELECT *
FROM table AS S1
WHERE EXISTS 
      ( SELECT *
        FROM table AS S2
        WHERE ( S2.code = S1.code )
          AND (  ( S1.column1 IS NULL  AND  S2.column1 IS NOT NULL ) 
              OR ( S2.column1 IS NULL  AND  S1.column1 IS NOT NULL )
              )
      ) ;
于 2012-05-15T22:41:17.870 に答える