Первоначальный плакат, так извиняюсь, если я не детализировал все по мере необходимости! Был хороший поиск любых подобных вопросов, но не удалось найти.SQL STUFF и выражение CASE и объединенные таблицы
меня попросили написать запрос, который показывает клиентам, которые связаны с другими клиентами, которые сидели в том же транспортном средстве -
Ref Ref2
1 2
1 3
1 4
2 1
2 3
2 4
Проще говоря, клиент 1,2,3 и 4 являются все один и тот же автомобиль, и поэтому в таблице есть строка, соединяющая их вместе.
Мне было поручено добавить в отчет информацию о связанном файле в той же строке, что и остальная часть моего запроса. Я сделал это с помощью функции вещи, найденной из другого вопроса здесь:
select distinct r.ref
, stuff(
(select ','+r2.ref2 as [text()]
from related r
where r2.ref = r.ref
for xml path ('')
),1,1,' ') as [linked]
from related r2
, который показывает в строке 1: 2,3,4 и это работает отлично.
Что мне нужно сделать, это то же самое, но детализировать положение клиента внутри транспортного средства, используя ту же теорию, что и выше, например,
Ref |Linked | Driver/Passenger
1 | 2,3,4 | D,P,P,P
Вот запрос, как я приспособил его с помощью выражения CASE - Я думаю, что мой присоединиться является одним из вопросов, и постарались включить в других местах, но безрезультатно:
select distinct r.ref
, stuff(
(select ','+CASE WHEN s.status = 'DRV' THEN 'D' WHEN
s.status = 'PASVEC' THEN 'P' WHEN s.status = 'OWNND' THEN 'P' ELSE '' END [text()]
from status s
where s.ref = r.ref2 -- Looking at the ref of the linked case
for xml path ('')),1,1,' ') as [D/P]
from related r
Редактировать :
выход я получаю список всех дел, связанных с не т.е.
Ref | D/P
1 | D
2 | P
3 | P
4 | P
нет O Errors utput.
Я также попробовал внутреннее соединение в инструкции from.
Спасибо за любую помощь заранее!
Одна вещь, которая может помочь делает правильный присоединиться в от заявления. FROM Satus S INNER JOIN <Имя другой таблицы> R ON s.ref = r.ref2. Получает ли запрос какие-либо ошибки? Не могли бы вы разместить образец вывода? –
Звучит, что что-то не возвращается так, как вы этого хотите. Однако вы не говорите нам, в чем проблема. Здесь отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
Извинения - обновленный до подробного вывода! – Laing111