Tôi có một bảng MySQL với yêu cầuĐiều kiện trong MySQL GROUP_CONCAT
+--------+-------------+-----+
| req_id | req_name | ... |
+--------+-------------+-----+
| 1 | testrequest | ... |
+--------+-------------+-----+
và một bảng với phiếu trên yêu cầu đó.
+--------+-----------+----------+
| req_id | vote_name | approved |
+--------+-----------+----------+
| 1 | User1 | 1 |
| 1 | User2 | 1 |
| 1 | User3 | 1 |
| 1 | User4 | 0 |
| 1 | User5 | 0 |
+--------+-----------+----------+
Các loại xem tôi muốn:
+--------+-------------+---------------------+--------------+
| req_id | req_name | approved_by | rejected_by |
+--------+-------------+---------------------+--------------+
| 1 | testrequest | User1, User2, User3 | User4, User5 |
+--------+-------------+---------------------+--------------+
Cho đến nay, tuy nhiên, tôi đã chỉ có thể thực hiện điều này:
+--------+-------------+----------+---------------------+
| req_id | req_name | approved | by |
+--------+-------------+----------+---------------------+
| 1 | testrequest | YES | User1, User2, User3 |
| 1 | testrequest | NO | User4, User5 |
+--------+-------------+----------+---------------------+
Truy vấn tôi đã sử dụng:
SELECT requests.req_id, req_name, CASE
WHEN approved THEN 'YES'
ELSE 'NO'
END AS approved, GROUP_CONCAT(vote_name ORDER BY vote_name ASC SEPARATOR ', ') AS by
FROM requests
LEFT JOIN votes ON requests.req_id = votes.req_id
GROUP BY requests.req_id, approved
ORDER BY requests.req_id DESC;
Câu hỏi của tôi là, làm cách nào để có 2 group_c oncats trong cùng hàng với các giá trị khác nhau?
Cảm ơn rất nhiều!
'thứ tự by' đang làm việc với 'group_concat' – safarov