2013-02-11 24 views
6

Tôi muốn các lĩnh vực nhóm nhưng muốn hiển thị tất cả các hàng của một cột gọi là remain:mysql - nhóm, nhưng hiển thị tất cả hàng của một cột

đây là sản lượng hiện tại mà không nhóm:

enter image description here

Và đầu ra với nhóm:

enter image description here

Và tôi muốn này khi tôi nhóm:

enter image description here

Đây là truy vấn mysql:

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  

Trả lời

9

sử dụng 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 

khác Link (s)

+0

cảm ơn, đã làm việc như một nét duyên dáng – user007

+0

bạn được chào đón ': D' –

+0

người đàn ông! nhóm concat trả về BLOB ??? tại sao?? howto đặt nó để varchar ?? – user007

1

Hãy thử điều này:

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

thử này cho điều này chúng ta cần phải sử dụng riêng biệt group_contact bởi ''.

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; 
Các vấn đề liên quan