I can't seem to get the output I need with this, can anyone see what I am doing wrong?
Output should be
1 | Adam | Math, Science 2 | Tony | Math 3 | Erica | English, History
But I keep resulting with
1 | Adam | Math, Science, English, History 2 | Tony | Math, Science, English, History 3 | Erica | Math, Science, English, History
CREATE TABLE T
(
ID INT,
WM VARCHAR(50),
Class VARCHAR(50),
Prof VARCHAR(50),
)
INSERT INTO T (ID, WM, Class, Prof)
VALUES
(NULL, 'Adam', 'Math', 'Sam'),
(1, 'Adam', 'Science', 'Marc'),
(2, 'Tony','Math', 'Sam'),
(3, 'Erica','English', 'P'),
(3, 'Erica','History', 'P')
SELECT *, STUFF((
SELECT DISTINCT ', ' + Class
FROM T
WHERE T.WM = T.WM
FOR XML PATH('')), 1, 2, '')
FROM (
SELECT DISTINCT WM
FROM T
) T
Please leave a reason why, if leaving negative results
The issue is in where T.WM = T.WM statement
SELECT *, STUFF((
SELECT DISTINCT ', ' + Class
FROM T as T2
WHERE T.WM = T2.WM
FOR XML PATH('')), 1, 2, '')
FROM (
SELECT DISTINCT WM
FROM T
) T
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With