私は次のクエリを持っている -集計列
SELECT d.PRD_YY,
Count(*)
FROM (SELECT CARD,
Min(TXN_DT) mindt
FROM db1.dbo.tblcards
GROUP BY CARD) a
JOIN db1.dbo.tlkpdates d
ON a.MINDT = d.GREG_DT
WHERE d.PRD_YY = 2016
AND d.PRD_NBR = 5
GROUP BY d.PRD_YY
基本的に、これはどのように多くのカードに私tblcards
表からは、最初でtlkpdates
テーブルから取得され、指定した日付範囲に現れた私に語りました私の内部クエリ結果からmindt
に参加してください。
私がやりたいことは、その日付範囲に最初に出現したカードだけでなく、その日付範囲に表示されたカードの数も表示されます。
greg_dt
(これは6/1/2016のような通常のグレゴリオ暦の日付です)に最低日に参加しているため、これは可能ではないようです。最新のオカレンス)?
私は別のクエリを同じデータセットを返すことができますが、私はむしろ同じクエリでそれを持っていると思います。
編集 - 私は単なるPRD_YY以上のグループにしたいと考えています - さらに細かい表示のためにピリオド番号、期間の週、および日があります。
サンプルデータ -
Card Date Store Transaction
1-05-08 25 141414
40999999999 2013-12-07 847 15154
30999999998 2015-02-05 96 234235
20999999997 2016-03-21 139 2342525
50999999996 2016-03-30 659 1234121515
70999999995 2016-03-04 659 52525
50999999994 2016-03-03 907 2362362
20999999993 2014-05-23 941 2623626
70999999992 2013-12-03 18 123124
40999999991 2014-01-18 107 1512515
電流出力
prd_yy new_cards
2016 22911
所望の出力
card
はtblCardsテーブルにPKである(または少なくとも一度だけそれぞれ表示されていることを仮定
prd_yy new_cards total_cards
2016 22911 54992
サンプルデータ、現在の出力、および予想される結果を提供してください。私は、あなたが描写していることに従うのが難しいです。 – Siyual
開発者が 'tlkpdates'や' greg_dt'のような暗黙の名前と略語を使うと、データベースはずっと面白くて面白いです。それはずっと神秘的です。コードの理解は過大評価されています。 –