|
▼Seri さん:
>テーブルのデータに入力されている日付で並び替えをすれば可能になりますか?
可能だと思います。
>同じ製品を続けて生産した場合
という基準を明確にする必要があると思いますが…。
こちらとしては Seri さんの状況が解らないので
・20050601 に 鋳造機「9」と「10」で同じ製品が作られることはないのか。
・コード・品番・品名は一意なのか。
(コードが決定したら品番と品名は決定されるのか。)
・鋳造機ごとに作られる製品は決まっているのか。
等…がはっきりとしておりません。
テーブルの形が
SEQ 鋳造機 日付 コード 品番 品名 目標数 実績数
1 9 20050601 1336 1234 fffff 100 85
1 9 20050602 1336 1234 fffff 200 150
2 10 20050602 907 5678 AAAAA 100 90
2 10 20050603 907 5678 AAAAA 300 220
2 10 20050604 907 5678 AAAAA 100 85
3 9 20050606 906 8888 ddddd 100 90
4 9 20050607 1336 1234 fffff 200 160
こんな感じですと、
SELECT P.SEQ,
Min(T_Test.日付) AS 日付の最小,
T_Test.コード,
T_Test.品番,
T_Test.品名,
P.目標数の合計,
P.実績数の合計
FROM [
SELECT T_Test.SEQ,
Sum(T_Test.目標数) AS 目標数の合計,
Sum(T_Test.実績数) AS 実績数の合計
FROM T_Test
GROUP BY T_Test.SEQ
]. AS P
INNER JOIN T_Test ON P.SEQ = T_Test.SEQ
GROUP BY P.SEQ, T_Test.コード,
T_Test.品番,
T_Test.品名,
P.目標数の合計,
P.実績数の合計;
という SQL で一発で結果を表示できます。
|
|