私が持っているのは2つのテーブルです。テーブル A は次のようになります。
actID; jobnumber; actTypeID; completeDate
1; 2000; 3; 2012-09-04
2; 2000; 4; 2012-09-05
3; 2001; 2; 2012-09-10
4; 2001; 4; 2012-09-05
5; 2001; 5; 2012-09-05
6; 2002; 1; 2012-09-12
テーブル B は次のようになります。
actTypeID; actType; projStatus;
1; Pick; Build;
2; Bid; Estimate;
3; PMQC; QC;
4; Equipment Test; QC;
5; Assembly; Build;
私がする必要があるのは、これにprojStatus
andactType
を含めることです:
SELECT jobnumber,
max(completedate) completedate
FROM tableA
GROUP BY jobnumber
返されるレコードの数を増やすことなく、つまり、このセットを元に戻します:
jobnumber; actType; projStatus; completedate;
2000; EquipmentTest; QC; 2012-09-05;
2001; Bid; Estimate; 2012-09-10;
2002; Pick; Build; 2012-09-12;
私は現在 SQL Server 2005 を使用していますが、間もなく 2008 年になります。このトリックを見逃しているように感じます。