質問編集履歴

2

サンプルの追加

2019/03/12 11:11

投稿

Pyonkichi
Pyonkichi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -270,6 +270,38 @@
270
270
 
271
271
 
272
272
 
273
+ ### 更に追記(2019/03/12 20:00〜)
274
+
275
+
276
+
277
+ ```
278
+
279
+ INSERT INTO `m_test_employee_divs` (`id`, `employee_id`, `div_id`, `delete_flag`)
280
+
281
+ VALUES
282
+
283
+ (4,2,3,0),
284
+
285
+ (5,2,2,0),
286
+
287
+ (6,3,1,0);
288
+
289
+ ```
290
+
291
+ を更にインサートします。
292
+
293
+
294
+
295
+ 社員ID:1のAさんの代表部署は「部署ID:2」
296
+
297
+ 社員ID:2のBさんの代表部署は「部署ID:2」
298
+
299
+ 社員ID:3のCさんの代表部署は「部署ID:1」
300
+
301
+ としたいです。
302
+
303
+
304
+
273
305
  ### 補足情報(FW/ツールのバージョンなど)
274
306
 
275
307
  PHP:7系

1

サンプルを追記

2019/03/12 11:11

投稿

Pyonkichi
Pyonkichi

スコア13

test CHANGED
@@ -1 +1 @@
1
- GROUPBY条件追加について
1
+ GROUP BY条件追加について
test CHANGED
@@ -150,8 +150,128 @@
150
150
 
151
151
 
152
152
 
153
+ ### 追記(2019/03/12 19:15〜)
154
+
155
+ テストデータは以下のとおりです。
156
+
157
+ ```
158
+
159
+ -- 社員テーブル
160
+
161
+ CREATE TABLE `m_test_employees` (
162
+
163
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
164
+
165
+ `emoloyee_id` int(10) NOT NULL,
166
+
167
+ `name` varchar(255) NOT NULL DEFAULT '',
168
+
169
+ `delete_flag` tinyint(3) NOT NULL DEFAULT '0',
170
+
171
+ PRIMARY KEY (`id`)
172
+
173
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
174
+
175
+ -- 社員部署テーブル
176
+
177
+ CREATE TABLE `m_test_employee_divs` (
178
+
179
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
180
+
181
+ `employee_id` int(10) NOT NULL,
182
+
183
+ `div_id` int(10) NOT NULL,
184
+
185
+ `delete_flag` tinyint(3) NOT NULL DEFAULT '0',
186
+
187
+ PRIMARY KEY (`id`)
188
+
189
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
190
+
191
+ -- 部署マスタテーブル
192
+
193
+ CREATE TABLE `m_test_div_master` (
194
+
195
+ `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
196
+
197
+ `div_id` int(10) NOT NULL,
198
+
199
+ `order` int(2) NOT NULL DEFAULT '1',
200
+
201
+ `delete_flag` tinyint(3) NOT NULL DEFAULT '0',
202
+
203
+ PRIMARY KEY (`id`)
204
+
205
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
206
+
207
+ -- 各種データインサート
208
+
209
+ INSERT INTO `m_test_employees` (`id`, `emoloyee_id`, `name`, `delete_flag`)
210
+
211
+ VALUES
212
+
213
+ (1,1,'Aさん',0),
214
+
215
+ (2,2,'Bさん',0),
216
+
217
+ (3,3,'Cさん',0);
218
+
219
+ INSERT INTO `m_test_employee_divs` (`id`, `employee_id`, `div_id`, `delete_flag`)
220
+
221
+ VALUES
222
+
223
+ (1,1,3,0),
224
+
225
+ (2,1,2,0),
226
+
227
+ (3,1,1,0);
228
+
229
+ INSERT INTO `m_test_div_master` (`id`, `div_id`, `order`, `delete_flag`)
230
+
231
+ VALUES
232
+
233
+ (1,3,3,0),
234
+
235
+ (2,2,1,0),
236
+
237
+ (3,1,2,0);
238
+
239
+ ```
240
+
241
+ 動作確認SQL
242
+
243
+ ```
244
+
245
+ SELECT
246
+
247
+ employee_id, test.div_id, test.order
248
+
249
+ FROM m_test_employees
250
+
251
+ LEFT OUTER JOIN (
252
+
253
+ SELECT
254
+
255
+ m_test_employee_divs.employee_id, m_test_employee_divs.div_id, m_test_div_master.order
256
+
257
+ FROM
258
+
259
+ m_test_employee_divs
260
+
261
+ LEFT OUTER JOIN m_test_div_master ON (m_test_employee_divs.div_id = m_test_div_master.div_id)
262
+
263
+ ) AS test ON (employee_id = test.employee_id)
264
+
265
+ GROUP BY employee_id
266
+
267
+ ORDER BY employee_id asc;
268
+
269
+ ```
270
+
271
+
272
+
153
273
  ### 補足情報(FW/ツールのバージョンなど)
154
274
 
155
-
275
+ PHP:7系
156
276
 
157
277
  Fuelphp:1.9