回答編集履歴
1
コード追記
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
```sql
|
14
14
|
|
15
|
-
SELECT
|
15
|
+
SELECT a.項目1 AS 項目4, b.項目1 AS 項目5, Count(*) AS 項目6
|
16
16
|
|
17
17
|
FROM Table1 AS a INNER JOIN Table1 AS b ON a.項目2 = b.項目2
|
18
18
|
|
@@ -86,4 +86,52 @@
|
|
86
86
|
|
87
87
|
クエリ4つになりましたが、サブクエリを使って一つに纏めることはできます。
|
88
88
|
|
89
|
-
が、メンテナンスとか考えたら分けておいた方がいいと思います。
|
89
|
+
が、メンテナンスとか考えたら分けておいた方がいいと思いますが、一応、纏めたものの提示しておきます。
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
```sql
|
94
|
+
|
95
|
+
TRANSFORM Sum(QUnion.件数) AS 件数の合計
|
96
|
+
|
97
|
+
SELECT QUnion.項目4, QUnion.項目5
|
98
|
+
|
99
|
+
FROM (
|
100
|
+
|
101
|
+
SELECT 項目4, 項目5, "項目6" AS 列名, 項目6 AS 件数
|
102
|
+
|
103
|
+
FROM (
|
104
|
+
|
105
|
+
SELECT a.項目1 AS 項目4, b.項目1 AS 項目5, Count(*) AS 項目6
|
106
|
+
|
107
|
+
FROM Table1 AS a INNER JOIN Table1 AS b ON a.項目2 = b.項目2
|
108
|
+
|
109
|
+
WHERE a.項目1<b.項目1
|
110
|
+
|
111
|
+
GROUP BY a.項目1, b.項目1
|
112
|
+
|
113
|
+
) Q1
|
114
|
+
|
115
|
+
UNION ALL
|
116
|
+
|
117
|
+
SELECT 項目4, 項目5, "項目7" AS 列名, 項目7 AS 件数
|
118
|
+
|
119
|
+
FROM (
|
120
|
+
|
121
|
+
SELECT a.項目1 AS 項目4, b.項目1 AS 項目5, Count(*) AS 項目7
|
122
|
+
|
123
|
+
FROM Table2 a INNER JOIN Table2 b ON a.項目3 = b.項目3
|
124
|
+
|
125
|
+
WHERE a.項目1<b.項目1
|
126
|
+
|
127
|
+
GROUP BY a.項目1, b.項目1
|
128
|
+
|
129
|
+
) Q2
|
130
|
+
|
131
|
+
) QUnion
|
132
|
+
|
133
|
+
GROUP BY QUnion.項目4, QUnion.項目5
|
134
|
+
|
135
|
+
PIVOT QUnion.列名;
|
136
|
+
|
137
|
+
```
|