troubleshooting Question

Trailing String Characters in SQL Statement

Avatar of JackW9653
JackW9653Flag for United States of America asked on
Microsoft SQL ServerMicrosoft SQL Server 2008
2 Comments1 Solution405 ViewsLast Modified:
Hi Experts,

I'm trying to compile a list of ';' separated values from 10 fields in a SQL table but I'm left with ';' at the end of my string. Here's my query:

SELECT STUFF(
(SELECT  '; '+ SUBSTRING(Alert1,CHARINDEX('^',Alert1)+1, LEN(Alert1))+ '; ' +
      COALESCE(SUBSTRING(Alert2, CHARINDEX('^', ALERT2)+1, LEN(Alert2)),'') + '; ' +
      COALESCE(SUBSTRING(Alert3, CHARINDEX('^', ALERT3)+1, LEN(Alert3)),'') + '; ' +
      COALESCE(SUBSTRING(Alert4, CHARINDEX('^', ALERT4)+1, LEN(Alert4)),'') + '; ' +
      COALESCE(SUBSTRING(Alert5, CHARINDEX('^', ALERT5)+1, LEN(Alert5)),'') + '; ' +
      COALESCE(SUBSTRING(Alert6, CHARINDEX('^', ALERT6)+1, LEN(Alert6)),'') + '; ' +
      COALESCE(SUBSTRING(Alert7, CHARINDEX('^', ALERT7)+1, LEN(Alert7)),'') + '; ' +
      COALESCE(SUBSTRING(Alert8, CHARINDEX('^', ALERT8)+1, LEN(Alert8)),'') + '; ' +
      COALESCE(SUBSTRING(Alert9, CHARINDEX('^', ALERT9)+1, LEN(Alert9)),'') + '; ' +
      COALESCE(SUBSTRING(Alert10,CHARINDEX('^',Alert10)+1, LEN(Alert10)),'')
    FROM tblPatientData
      WHERE CaseNumber = '10223001'
    FOR XML PATH ('')),1,1,'') AS RESULTS

And Results:

 EPILEPSY; RISK OF FALLS; DIZZINESS; HIV/AIDS; A-FIB      ; ; ; ; ;

It's highly doubtful any patient will exceed 5 Alerts so getting rid of the trailing ';' is imperative. I've just ran out of time on this one.

Thanks in advance,

JackW9653
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 2 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 2 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros