6
私は非常に単純な(デモ用)テーブルこのクエリを改善することはできますか?
CREATE TABLE t1 (id int,d1 date);
と、このクエリを持っています。
SELECT
A.id,
minA,
minB
FROM (SELECT id, MIN(d1) AS minA
FROM t1
GROUP BY id) AS A
LEFT JOIN (SELECT C.id, MIN(C.d1) AS minB
FROM t1 AS C
INNER JOIN (SELECT id, MIN(d1) AS minD
FROM t1
GROUP BY id) AS D ON C.id = D.id AND C.d1 > D.minD
GROUP BY C.id) AS B ON A.id = B.id
IDのための唯一の1日があった場合、基本的に私は、NULL値で、列に各IDには2つの「最低」の日付値を取得しようとしています。上記のクエリは機能しますが、私が見ていないより良い/よりクリーンな方法が必要です。私はSQL Server 2008を使用しています。
を参照してください、私は非常によく似た何かをやってみましたが、何らかの理由で私のピボットは私が2で終わるさせ各IDの行行1はIDと最初の日付(2番目の日付はNULL)を持ち、2行目はIDと2番目の日付(最初の列はnull)を持ちます。しかし、このソリューションをありがとう! – Crag
@Cragあなたは喜んで、うまくいきました。 – Taryn
@ YatinSaraiya:あなたのポイントを守ることができない場合は、あまり意味がありません。 – Ryan