1
나는 모든 그룹 이름 및 관련 사용자와 화면을 표시하려고MySQL의 쿼리 - 다른 테이블의 여러 행이 한 테이블에서 하나의 행
Table: User
USER ID
USER NAME
Table: Group
GROUP ID
GROUP NAME
Table: User Group
GROUP ID
USER ID
다음과 같은 데이터 모델 한 - 프론트 엔드는 PHP입니다
내가 가진 쿼리는 다음과 같습니다 -
`SELECT a.group_id,
a.group_name,
GROUP_CONCAT(g.user_id) AS user_ids,
GROUP_CONCAT(u.user_fname) AS user_names
FROM group a, user_group g, user u
WHERE a.group_id = g.group_id
AND g.user_id = u.user_id
GROUP BY a.group_id`
내 질문 : 당신이 위의 쿼리에서 볼 수 있듯이 - I 사용자 ID를 나타냅니다 연결된 문자열의 두 목록을 가지고 있고 사용자 이름. 내가 거기에 3. 다음
을 통해 객체의 배열을 전달하는 두 배열을 통해 2. 실행을 배열로 루프를 모두 연결된 문자열을 폭발하고 그들로부터 사용자 개체를 구성 1로 가지고 이것은 PHP에서 두통이된다 이 일을 더 효율적으로/더 나은 방법으로? 어떤 제안, 포인터를 주시면 감사하겠습니다.
고마워요 - 네, 제가 group by 절을 가지고 있었는데 방금 그 내용을 입력하지 못했습니다. 제가 제안한대로하면 모든 연결된 사용자 ID와 PHP 이름을 분리해야합니다. MySQL 내에서 관련된 배열을 반환하는 방법이있을 것으로 기대했다. 아마도 나는 너무 많은 것을 바랄뿐입니다. 더 좋은 응답을 보지 않으면 나는 당신의 것을 받아 들일 것입니다. – ChicagoSky
mysqli_fetch_assoc()이라는 것이 있습니다. 아마도 그것은 당신이 원하는 것입니다. –