考虑下面的sqlfiddle。
DROP TABLE IF EXISTS appointments;
CREATE TABLE appointments (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
DROP TABLE IF EXISTS services;
CREATE TABLE services (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL
);
DROP TABLE IF EXISTS join_services_appointment;
CREATE TABLE join_services_appointment (
service_id INT(6) UNSIGNED,
appointment_id INT(6) UNSIGNED,
FOREIGN KEY(service_id) references services(id),
FOREIGN KEY(appointment_id) references appointments(id)
);
INSERT INTO appointments (name) VALUES ('appointment1');
INSERT INTO appointments (name) VALUES ('appointment2');
INSERT INTO appointments (name) VALUES ('appointment3');
INSERT INTO services (name) VALUES ('services1');
INSERT INTO services (name) VALUES ('services2');
INSERT INTO services (name) VALUES ('services3');
INSERT INTO services (name) VALUES ('services4');
INSERT INTO services (name) VALUES ('services5');
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (1, 1);
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (2, 1);
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (2, 2);
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (3, 2);
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (3, 3);
INSERT INTO join_services_appointment (service_id, appointment_id) VALUES (4, 3);
我将使用什么查询返回以下结果?
appointment_name services
appointment1 services1,services2
appointment2 services2,services3
appointment3 services3,services4
1条答案
按热度按时间3pvhb19x1#
如注解中所述,您可以使用group\u concat()来实现所需的输出。