|
▼チリ子 さん:
>最新Noが0504であれば、0504にデータが無いので、データ表示しない。
>1000 1 1
>1000 2 2
>1001 2 2
>1001 1 3
>1001 2 1
>1003 2 1
>1003 1 1
>1003 2 3
了解です。
4.のクエリーを次のように変更して下さい。
SELECT Query_union.*,
fxMakeGroup([Query_union]![No],[Query_union]![TB],[Query_union]![区分])
AS G
INTO wkTBL_抽出対象
FROM
(
Query_union LEFT JOIN Query_欠ける最小値 ON
Query_union.[No] = Query_欠ける最小値.[No]
)
INNER JOIN [0504] ON
Query_union.[No] = [0504].[No]
WHERE
(
(Query_union.[No] Is Not Null) AND
(Query_union.TB<[Query_欠ける最小値]![TBの最小])
) OR
(Query_欠ける最小値.[No] Is Null)
ORDER BY Query_union.[No], Query_union.TB;
テーブル[0504]をくっつけて、[0504]にあるものだけを抽出してます。
[0504]は、「最新」となるテーブルとして下さい。
また、fxMakeGroupをここで使い、更にテーブル作成クエリーと
なってます。
いくつか試したのですが、最後の集計がうまくいかなかったので、
ワークテーブル「wkTBL_抽出対象」を作る方法に逃げました(^_^;
5.のクエリーも次のようにして下さい。
SELECT [No], 区分, Count(区分) AS カウント
FROM wkTBL_抽出対象
GROUP BY [No], 区分, G
ORDER BY G;
集計対象が、「Query_抽出対象」から「wkTBL_抽出対象」に
変更になり、fxMakeGroupも4.で既に使っているので
こちらでは必要ありません。
以上です。
4.のテーブル作成クエリーを実行した後、5.のクエリーを実行すれば
結果がでてくると思います。
テーブル作成はダメかな?
|
|