みんな...現在私は以下のようなテーブルを持っています..
DATE BATCHNO PRODCODE
----------------------------------------------
31/12/2009 23.53 10859 2003P
01/01/2010 00.04 10860 2003P
01/01/2010 00.06 10861 2003P
01/01/2010 00.13 10862 2003P
01/01/2010 00.30 10863 1259
01/01/2010 03.02 10864 639B
01/01/2010 03.13 10865 639B
01/01/2010 03.20 10866 639B
01/01/2010 04.13 10867 2003P
01/01/2010 04.20 10868 2003P
01/01/2010 04.30 10863 2003P
上記は私が今持っている表の例です..新しいBATCHNOがあり、BATCHNOが1増加するたびに、DATEが生成されます..PRODCODEは、機械が製品を製造し、製品2003Pが製造を終了した製品のコードです。 、1259などの別の製品に自動的に移動します。
これらのデータを計算して、以下の望ましい結果にしたいと思います。
DATE PRODCODE
----------------------------------------------
31/12/2009 23.53 2003P
01/01/2010 00.13 2003P
01/01/2010 00.30 1259
01/01/2010 00.30 1259
01/01/2010 03.02 639B
01/01/2010 03.20 639B
01/01/2010 04.13 2003P
01/01/2010 04.30 2003P
つまり、2009年12月31日23.53は製品2003Pの開始時刻であり、2012年1月1日00.13は製品2003Pの停止時刻です。2010年1月1日00.30は前に1つの製品しか生産しないため、製品1259は特別です。他の製品に移動します。基本的に、同じコードであるすべての製品でグループ化されるため、group byを使用できません。問題は、特定の製品コードの開始時刻と停止時刻を検出することです。。これはどのように達成できますか?これはSQLSERVER2005用です...
みんな、ありがとう ..