|
小僧さんの方はグループ化がされていなかったからだと思います。
SELECT テーブルA.アプリ名 AS ソフト名, DCount("*","テーブルB","[1] = '" & [アプリ名] & "' or [2] = '" & [アプリ名] & "' or [3] = '" & [アプリ名] & "'") & "個" AS 個数
FROM テーブルA, テーブルB
GROUP BY テーブルA.アプリ名;
小僧さんの方法で在庫表示
SELECT テーブルA.アプリ名 AS ソフト名, DCount("*","テーブルB","[1] = '" & [アプリ名] & "' or [2] = '" & [アプリ名] & "' or [3] = '" & [アプリ名] & "'") & "個" AS 個数, テーブルA.在庫数
FROM テーブルA, テーブルB
GROUP BY テーブルA.アプリ名, テーブルA.在庫数;
私の方法で在庫表示
1.別ユニオン
SELECT クエリ1.[1], Count(クエリ1.[1]) AS 1のカウント, テーブルA.在庫数
FROM クエリ1 INNER JOIN テーブルA ON クエリ1.[1] = テーブルA.アプリ名
GROUP BY クエリ1.[1], テーブルA.在庫数;
2.ユニオン内包
SELECT Q1.[1], Count(Q1.[1]) AS 1のカウント, テーブルA.在庫数
FROM (SELECT [1] FROM テーブルB WHERE [1] Is Not Null UNION ALL
SELECT [2] FROM テーブルB WHERE [2] Is Not Null UNION ALL
SELECT [3] FROM テーブルB WHERE [3] Is Not Null) AS Q1 INNER JOIN テーブルA ON Q1.[1]=テーブルA.アプリ名
GROUP BY Q1.[1], テーブルA.在庫数;
|
|