MySQL'in "GROUP_CONCAT" işlevi ile ilgili bir sorun yaşıyorum. Ben basit bir yardım masası veritabanı kullanarak sorunumu gösterilecektir: Bu yardım masası veritabanı iki çözüm girişleriyle iki bilet, her sahip olduğunuMySQL: GROUP_CONCAT LEFT JOIN ile
CREATE TABLE Tickets (
id INTEGER NOT NULL PRIMARY KEY,
requester_name VARCHAR(255) NOT NULL,
description TEXT NOT NULL);
CREATE TABLE Solutions (
id INTEGER NOT NULL PRIMARY KEY,
ticket_id INTEGER NOT NULL,
technician_name VARCHAR(255) NOT NULL,
solution TEXT NOT NULL,
FOREIGN KEY (ticket_id) REFERENCES Tickets.id);
INSERT INTO Tickets VALUES(1, 'John Doe', 'My computer is not booting.');
INSERT INTO Tickets VALUES(2, 'Jane Doe', 'My browser keeps crashing.');
INSERT INTO Solutions VALUES(1, 1, 'Technician A', 'I tried to solve this but was unable to. I will pass this on to Technician B since he is more experienced than I am.');
INSERT INTO Solutions VALUES(2, 1, 'Technician B', 'I reseated the RAM and that fixed the problem.');
INSERT INTO Solutions VALUES(3, 2, 'Technician A', 'I was unable to figure this out. I will again pass this on to Technician B.');
INSERT INTO Solutions VALUES(4, 2, 'Technician B', 'I re-installed the browser and that fixed the problem.');
dikkat edin. Amacım, veritabanındaki tüm biletlerin bir listesini oluşturmak için bir yanıt cümleleri kullanmaktır.
SELECT Tickets.*, GROUP_CONCAT(Solutions.solution) AS CombinedSolutions
FROM Tickets
LEFT JOIN Solutions ON Tickets.id = Solutions.ticket_id
ORDER BY Tickets.id;
yukarıdaki deyim ile sorun yalnızca bir satır döndürüyor edilir: Bu kullanıyorum SELECT ifadesi olan
hem bilet 1'ler ve birlikte bilet 1'in bilgi döndürüyor oid: 1
requester_name: John Doe
description: My computer is not booting.
CombinedSolutions: I tried to solve this but was unable to. I will pass this on to Technician B since he is more experienced than I am.,I reseated the RAM and that fixed the problem.,I was unable to figure this out. I will again pass this on to Technician B.,I re-installed the browser and that fixed the problem.
Bildirimi bilet 2'nin çözüm girişleri.
Neyi yanlış yapıyorum? Teşekkürler!
Bu işe yarıyor! Teşekkür ederim! – Nick
Ama neden Nick'in yöntemi çalışmıyor? Belli ki öyle değil, ama olması gerektiği gibi görünüyor. Bunu bana açıklayabilir misin? – pbarney
Şimdiye kadar anlıyorum ki, group_contact sorgunun parçaları ile ilgilenmiyor, tüm ara sonuçları gruplandırıyor. – jnovacho