1

以下のようなコードを実行しようとしています。このサブクエリは、メイン クエリと同じテーブルから取得します。唯一の制約は、column3 が NULL である/ないことです。単純化する方法はありますか?

SELECT a.column1, a.column2, b.column1, b.column2
FROM table1 a
INNER JOIN 
  (SELECT column1, column2
  FROM table1
  WHERE column3 IS NULL) b
ON a.column4 = b.column4
WHERE a.column3 IS NOT NULL
GROUP BY a.column1, a.column2, b.column1, b.column2
4

1 に答える 1

2

編集後: (クエリ b テーブルには column4 がありません)

これを試して:

SELECT a.column1, a.column2, b.column1, b.column2
FROM table1 a
INNER JOIN table1 b
ON a.column4 = b.column4
WHERE a.column3 IS NULL
AND b.column3 IS NOT NULL

4 つの列が重複していると思われる場合は、フィールド リストで GROUP BY または DISTINCT コマンドを使用できます。

于 2013-10-04T00:02:16.000 に答える