다음 쿼리에는 약간의 문제가 있습니다. 여러 값을 반환합니다.group_concat 및 조인을 사용하여 값이 반복됨
+----+--------------+--------+--------+---------------------+----------+------------------+
| id | company | county | vm | os | products | sn |
+----+--------------+--------+--------+---------------------+----------+------------------+
| 1 | ABC Corp | USA | VMW | Linux, Linux, Linux | 3 | A123, B234, A343 |
| 2 | DEF Corp | USA | CIT | Windows | 1 | I223 |
+----+--------------+--------+--------+---------------------+----------+------------------+
당신이 볼 수 있듯이이 첫 번째 줄은 리눅스 3 번 보여 주지만,이 한 번만 나열되어야합니다 : 여기
내가 받고있어 결과입니다. 이 문제는 고객이 제품이 두 개 이상인 경우에만 발생하는 것으로 나타났습니다. 나는 내 쿼리 또는 이와 비슷한 것을 그룹화해야한다고 생각하지만 어떻게해야할지 모르겠다. 방금 요Group_concat
에
distinct
를 사용할 필요가
SELECT
customer.id,
customer.company,
countries.en AS country,
vmenv.name AS vm,
GROUP_CONCAT(operatingsystems.name SEPARATOR ', ') AS os,
COUNT(device2customer.sn) AS products,
GROUP_CONCAT(device2customer.sn SEPARATOR ', ') AS sn
FROM
customer
LEFT JOIN
countries
ON
customer.country = countries.id
LEFT JOIN
vmenv2kunden
ON
vmenv2kunden.customerid = customer.id
LEFT JOIN
vmenv
ON
vmenv2kunden.vmenvnr = vmenv.id
LEFT JOIN
operatingsystems2customer
ON
operatingsystems2customer.customerid = customer.id
LEFT JOIN
operatingsystems
ON
operatingsystems2customer.osnr = operatingsystems.id
LEFT JOIN
device2customer
ON
device2customer.kundenid = customer.id
GROUP BY
customer.id
DISTINCT 당신을 위해 일해야 DISTINCT 키워드를 추가
에 GROUP_CONCAT 문을 변경? – Strawberry