私はこのテーブルを持っています:
A B C
1 Record 1 Type 1
2 Record 2 Type 2
3 Record 3 Type 1
4 Record 4 Type 2
最初のレコードが最も近いレコードと一致する必要があるため、 C
(タイプ 1 とタイプ 2)の値で行をペアにする必要があります。Type 1
ID
Type 2
望ましい出力:
A B C A B C
1 Record 1 Type 1 2 Record 2 Type 2
3 Record 3 Type 1 4 Record 4 Type 2
2 つの CTE を使用したクエリでこれを実行しようとしましたが、期待どおりの結果が得られませんでした。
WITH SET_A (A, B, C) AS
(SELECT * FROM A WHERE C = 'Type 1'),
SET_B (A, B, C) AS
(SELECT * FROM A WHERE C = 'Type 2')
SELECT * FROM SET_A CROSS JOIN SET_B;
クロス結合を使用する以外の方法はありますか?