回答編集履歴

3 背景説明

tekeThick

tekeThick score 28

2018/05/27 18:11  投稿

すみません、以下のようにすることで解決しました
DISTINCTとGROUP BYが不足していました。
2つのカラムでのGROUP_CONCATでは、なにか特別なことが必要かと囚われてしまっていましたが、
2つのカラムでのGROUP_CONCATでは、1つのカラムでGROUP_CONCATする場合と違い、
なにか特別なことが必要かと囚われてしまっていましたが、
GROUP_CONCATの解説を良く読めば解決する内容でした。。。
```MySQL
SELECT
 装置名,
 GROUP_CONCAT(DISTINCT 稼働中機能 ORDER BY 稼働中機能 SEPARATOR ',') AS 稼働中機能,
 GROUP_CONCAT(DISTINCT 準備済み機能 ORDER BY 準備済み機能 SEPARATOR ',') AS 準備済み機能
FROM 装置テーブル
LEFT JOIN 稼働中機能テーブル
 ON 装置テーブル.seq_id = 稼働中機能テーブル.装置seq_id
LEFT JOIN 準備済み機能テーブル
 ON 装置テーブル.seq_id = 準備済み機能テーブル.装置seq_id
GROUP BY 装置名
```
2 背景説明

tekeThick

tekeThick score 28

2018/05/27 18:09  投稿

すみません、以下のようにすることで解決しました
DISTINCTとGROUP BYが不足していました。
2つのカラムでのGROUP_CONCATでは、なにか特別なことが必要かと囚われてしまっていましたが、  
GROUP_CONCATの解説を良く読めば解決する内容でした。。。
```MySQL
SELECT
 装置名,
 GROUP_CONCAT(DISTINCT 稼働中機能 ORDER BY 稼働中機能 SEPARATOR ',') AS 稼働中機能,
 GROUP_CONCAT(DISTINCT 準備済み機能 ORDER BY 準備済み機能 SEPARATOR ',') AS 準備済み機能
FROM 装置テーブル
LEFT JOIN 稼働中機能テーブル
 ON 装置テーブル.seq_id = 稼働中機能テーブル.装置seq_id
LEFT JOIN 準備済み機能テーブル
 ON 装置テーブル.seq_id = 準備済み機能テーブル.装置seq_id
GROUP BY 装置名
```
1 要点追加

tekeThick

tekeThick score 28

2018/05/27 18:08  投稿

すみません、以下のようにすることで解決しました
DISTINCTとGROUP BYが不足していました。  
GROUP_CONCATの解説を良く読めば解決する内容でした。。。  
```MySQL
SELECT
 装置名,
 GROUP_CONCAT(distinct 稼働中機能 ORDER BY 稼働中機能 SEPARATOR ',') AS 稼働中機能,
 GROUP_CONCAT(distinct 準備済み機能 ORDER BY 準備済み機能 SEPARATOR ',') AS 準備済み機能
 GROUP_CONCAT(DISTINCT 稼働中機能 ORDER BY 稼働中機能 SEPARATOR ',') AS 稼働中機能,
 GROUP_CONCAT(DISTINCT 準備済み機能 ORDER BY 準備済み機能 SEPARATOR ',') AS 準備済み機能
FROM 装置テーブル
LEFT JOIN 稼働中機能テーブル
 ON 装置テーブル.seq_id = 稼働中機能テーブル.装置seq_id
LEFT JOIN 準備済み機能テーブル
 ON 装置テーブル.seq_id = 準備済み機能テーブル.装置seq_id
GROUP BY 装置名
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る