ich eine Frage hier Show multiple records in a row Beiträge geschrieben haben ein Ergebnis wie dieseszeigen mehrere Datensätze in einer Zeile in SQL Server
Es beantwortet wurde perfekt in MySQL zu bekommen, aber ich bin mit SQL Server, auf dem die Abfrage ist anders. Meine Tabellen sind
CREATE TABLE events
(
id int NOT NULL,
event_name varchar(100) NOT NULL,
event_id int NOT NULL
);
INSERT INTO events (id, event_name, event_id)
VALUES (1, 'dance', 1), (2, 'sing', 2), (3, 'acting', 3), (4, 'debate', 4);
CREATE TABLE students
(
id int NOT NULL,
student_name text NOT NULL,
event_id int NOT NULL
);
INSERT INTO students (id, student_name, event_id)
VALUES (1, 'student1', 1), (2, 'student1', 2),
(3, 'student1', 3), (4, 'student1', 4),
(5, 'student2', 3), (6, 'student3', 2),
(7, 'student3', 4);
ich mit einer Beispielabfrage hier versucht wurde http://rextester.com/RXK72524, aber es funktioniert nicht, da es.
Die Abfrage verwendet I
SELECT
s.student_name,
STUFF (g.student_name, 1, 1, '') AS events
FROM
Students s
CROSS APPLY
(SELECT
',' + e.event_name
FROM
students s
LEFT JOIN
events e ON s.event_id = e.event_id
ORDER BY
e.event_name
FOR XML PATH ('')) g (student_name)
mich bitte korrigieren. Dank
SQL Server-Version? –
@Romi Bitte markieren Sie als korrekt und up Abstimmung :) –
Ihr Leben wird einfacher, wenn Sie Student_name Spalte als 'NVACHAR' statt' TEXT' –