フィールドは複数のデータに対応する場合があります。mysqlを使用して、複数のデータ行を1つのデータ行にマージします。
次に例を示します。一般的なSQLステートメントによると、アクティビティID(activeId)は複数のモジュール名(modelName)に対応します。
1 SELECT am.activeId、m.modelName 2 FROM activemodel am 3 JOIN model m 4 ON am.modelId = m.modelId 5 ORDER BY am.activeId
クエリリストを図1に示します。
図1
変更されたSQLステートメントは、クエリ後に図2に示されています。
1 SELECT am.activeId、GROUP_CONCAT(m.modelName SEPARATOR '、')modelName 2 FROM activemodel am 3 JOIN model m 4 ON am.modelId = m.modelId 5 WHERE m.valid = 1 6 GROUP BY am.activeId
注意:
1. GROUP_CONCAT()の値は、マージするデータのフィールド名です。
SEPARATOR関数は、マージするデータを分離するために使用されます。
''は、分離するために使用する記号です。
2. GROUP BYステートメントはグループ管理に使用する必要があります。そうしないと、図3に示すように、すべてのデータが1つのレコードにマージされます。
図2
画像3