Обьединение строк в запросе MySQL при помощи GROUP_CONCAT
Данная команда позволяет «обьединять» в одну строчку результат запроса. Например:
Было:
1 2 3 4 5 6 |
select devices.device_name,devices.device_id,devices_options.value as ip from devices inner join devices_options on devices_options.device_id=devices.device_id where devices.tpl<>1; | sw-km-19b | 1147 | X-Files | | sw-km-19b | 1147 | 12.8.11.127 | | sw-len-28 | 1148 | f8f08210e96e | | sw-len-28 | 1148 | X-Files | | sw-len-28 | 1148 | 17.8.14.12 | |
Стало:
1 2 3 |
select devices.device_name,devices.device_id,GROUP_CONCAT(devices_options.value SEPARATOR '^') as ip from devices inner join devices_options on devices_options.device_id=devices.device_id where devices.tpl<>1 and (devices_options.name='IP' or devices_options.name='community') group by devices.device_id; | sw-km-19b | 1147 | X-Files^12.8.14.17 | | sw-len-28 | 1148 | X-Files^17.2.14.12 | |