У меня есть следующий код, который возвращает порядок посещения почтовых индексов. Я могу правильно вернуть почтовые индексы, но для того, чтобы сделать данные более удобными для пользователя, я добавил тире (-) между почтовыми индексами.
Проблема заключается в том, что я не могу понять, как устранить тире для строк, которые имеют только 2 или 3 почтовых индекса.
SELECT
[Qry_Zip Stop Sequence].[Load ID],
[1] AS [Stop 1], [2] AS [Stop 2], [3] AS [Stop 3],
[4] AS [Stop 4],
TMS_Load.[Shipped Date/Time],
CONCAT(ISNULL([1], ''), '-', ISNULL([2], ''), '-', ISNULL([3], ''), '-', ISNULL([4], '')) AS [Zip to Zip w Stops]
FROM
(SELECT
[Load ID], [Sequence], [Stop Zip]
FROM
TMS_Load_Stops) ls
PIVOT
(MIN([Stop Zip])
FOR [Sequence] IN ([1], [2], [3], [4])) AS [Qry_Zip Stop Sequence]
INNER JOIN
[TMS_Load] ON [TMS_Load].[Load ID] = [Qry_Zip Stop Sequence].[Load ID];
Я бы хотел, чтобы результаты отображали только тире между действительными почтовыми индексами.
78052-45050-45201 or
73350-45220 or
84009-48009-14452 or
36521-38222-87745-95123 or
73368 or
12789-35789