質問編集履歴
3
回答を受けコード修正した後の追加質問
test
CHANGED
File without changes
|
test
CHANGED
@@ -128,8 +128,66 @@
|
|
128
128
|
|
129
129
|
|
130
130
|
|
131
|
+
### 追加情報
|
132
|
+
|
133
|
+
hihijijiさんのアドバイスを受け、以下の通り修正したところエラー出ず動きました。
|
134
|
+
|
135
|
+
("," を ','に修正し、DataIdがint型なのでstr型にキャストしました。)
|
136
|
+
|
131
|
-
|
137
|
+
ただ、実行結果が想定と異なっている状態で、引き続き困っております。
|
132
138
|
|
133
139
|
|
134
140
|
|
141
|
+
現在の実行結果
|
142
|
+
|
143
|
+
|出身|性別|人数|DataId|
|
144
|
+
|
145
|
+
|:--|:--:|--:|
|
146
|
+
|
147
|
+
|東京|男|2|001,002,003,004,005,006,007,008|
|
148
|
+
|
149
|
+
|東京|女|1|001,002,003,004,005,006,007,008|
|
150
|
+
|
151
|
+
|大阪|男|1|001,002,003,004,005,006,007,008|
|
152
|
+
|
153
|
+
|大阪|女|2|001,002,003,004,005,006,007,008|
|
154
|
+
|
155
|
+
|愛知|女|2|001,002,003,004,005,006,007,008|
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
全てのDataIdを連結してしまっている状態です。
|
160
|
+
|
161
|
+
自分自身とテーブルでサブクエリを組んでるので当たり前の結果のような気もしていますが
|
162
|
+
|
163
|
+
どのようにすればほしい結果が得られるのか考えつかない状態です。
|
164
|
+
|
165
|
+
クエリの組み方や他の方法などあればアドバイスいただけませんでしょうか。
|
166
|
+
|
167
|
+
よろしくお願いします。
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
### 該当のソースコード(hihijijiさんのアドバイス後)
|
172
|
+
|
173
|
+
SELECT
|
174
|
+
|
175
|
+
tA.出身
|
176
|
+
|
177
|
+
,tA.性別
|
178
|
+
|
135
|
-
|
179
|
+
,COUNT(tA.氏名) AS 人数
|
180
|
+
|
181
|
+
,(SELECT STR(tB.DataId) + ','
|
182
|
+
|
183
|
+
FROM テーブル1 AS tB
|
184
|
+
|
185
|
+
WHERE tB.DataId = tA.DataId
|
186
|
+
|
187
|
+
FOR XML PATH('')
|
188
|
+
|
189
|
+
) AS DataId
|
190
|
+
|
191
|
+
FROM テーブル1 AS tA
|
192
|
+
|
193
|
+
GROUP BY tA.出身,tA.性別
|
2
リンク先の内容を修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -118,15 +118,13 @@
|
|
118
118
|
|
119
119
|
上記のエラーで詰まってしまっています。
|
120
120
|
|
121
|
-
↓過去ログ
|
122
|
-
|
123
|
-
[
|
121
|
+
[過去ログ](https://teratail.com/questions/156977)
|
124
122
|
|
125
123
|
↓過去ログにあったリンク先
|
126
124
|
|
127
|
-
[
|
125
|
+
[参照サイト1](http://uyan39.hatenablog.com/entry/20120721/1342893081)
|
128
126
|
|
129
|
-
[
|
127
|
+
[参照サイト2](https://webbibouroku.com/Blog/Article/forxmlpath)
|
130
128
|
|
131
129
|
|
132
130
|
|
1
・URLをリンクに修正しました。・曖昧な表現があったので修正しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
さらに最終的に別処理で利用するため集約したデータのDataIdを取得したいです。
|
8
8
|
|
9
9
|
My SQLやORACLEではGROUP_CONCATで実現可能な機能ですがSQLSERVERのため使用できず詰まっています。
|
10
|
+
|
11
|
+
環境としてはVB.NETからSQL Serverに接続しています。
|
10
12
|
|
11
13
|
|
12
14
|
|
@@ -52,11 +54,13 @@
|
|
52
54
|
|
53
55
|
|
54
56
|
|
55
|
-
過去ログ
|
57
|
+
過去ログを参照してコードを組みましたがうまくいきません。
|
56
58
|
|
57
59
|
コード自体に間違いがあれば教えていただきたいです。
|
58
60
|
|
59
61
|
また他の方法で実現可能であれば方法を教えていただけませんでしょうか。
|
62
|
+
|
63
|
+
よろしくお願いします。
|
60
64
|
|
61
65
|
|
62
66
|
|
@@ -112,11 +116,17 @@
|
|
112
116
|
|
113
117
|
過去ログや他サイトなど参照し以下でできそうだったので実装しましたが
|
114
118
|
|
115
|
-
|
119
|
+
上記のエラーで詰まってしまっています。
|
116
120
|
|
117
|
-
|
121
|
+
↓過去ログ
|
118
122
|
|
123
|
+
[リンク内容](https://teratail.com/questions/156977)
|
124
|
+
|
125
|
+
↓過去ログにあったリンク先
|
126
|
+
|
127
|
+
[リンク内容](http://uyan39.hatenablog.com/entry/20120721/1342893081)
|
128
|
+
|
119
|
-
https://webbibouroku.com/Blog/Article/forxmlpath
|
129
|
+
[リンク内容](https://webbibouroku.com/Blog/Article/forxmlpath)
|
120
130
|
|
121
131
|
|
122
132
|
|