2013-02-11 5 views
6

Ich möchte Gruppenfelder, sondern wollen alle Zeile einer Spalte remain genannt zeigen:mysql - Gruppe, aber alle zeigen Zeile einer Spalte

hier ist Stromausgang ohne Gruppierung:

enter image description here

und Ausgang mit Gruppe:

enter image description here

Und ich will diese, wenn ich Gruppe:

enter image description here

Hier ist mysql query:

SELECT staff.name, 
    staff.designation_id_designation, 
    staff.status_id_status, 
    Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days) AS 
    remain 
FROM staff INNER JOIN 
    leave_remain ON staff.id_staff = leave_remain.staff_id_staff 
GROUP BY staff.name  

Antwort

9

Verwendung GROUP_CONCAT

SELECT staff.name, 
     staff.designation_id_designation, 
     staff.status_id_status, 
     GROUP_CONCAT(Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days)) AS remain 
FROM staff 
     INNER JOIN leave_remain 
      ON staff.id_staff = leave_remain.staff_id_staff 
GROUP BY staff.name, staff.designation_id_designation, staff.status_id_status 

anderen Link (s)

+0

Dank, arbeitete wie ein Charme – user007

+0

Sie sind willkommen ': D' –

+0

Mann! Gruppe concat gibt BLOB zurück ??? Warum?? howto es auf varchar setzen ?? – user007

1

Versuchen Sie folgendes:

SELECT staff.name, 
    staff.designation_id_designation, 
    staff.status_id_status, 
    GROUP_CONCAT(Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days) SEPARATOR ' ') AS remain 
FROM staff INNER JOIN 
    leave_remain ON staff.id_staff = leave_remain.staff_id_staff 
GROUP BY staff.designation_id_designation, 
     staff.name, 
     staff.status_id_status; 
1

versuchen, dies für das wir group_contact seperate verwenden, indem Sie '' benötigen.

SELECT staff.name, 
    staff.designation_id_designation, 
    staff.status_id_status, 
    GROUP_CONCAT(Concat_Ws('=', leave_remain.leave_type_id_leave_type, leave_remain.days) SEPARATOR ' ') AS remain 
FROM staff 
INNER JOIN 
    leave_remain 
ON 
staff.id_staff = leave_remain.staff_id_staff 
GROUP BY staff.designation_id_designation, 
     staff.name, 
     staff.status_id_status;