Search code examples
sqlsql-server-2019

Query Filter based on condition


I have this query (SQL Server 2019) and I actually wanted to add a filter to it to show only items where IssueStatusID = 1 (This column is based on int Data Type) Can anyone help with this or point me in the right direction?

SELECT ID, 
STRING_AGG(TRY_CONVERT(varchar, Issue#, 101)  + ': ' + Notes + CHAR(13) + CHAR(10) + CHAR(13), CHAR(10)) WITHIN GROUP (ORDER BY Issue# DESC) AS IssueNotes 
FROM (SELECT DISTINCT 
    ac4.ID, 
    nd.Notes, 
    nd.Issue#,
    nd.IssueStatusID

FROM dbo.IssueTracking AS nd
    INNER JOIN dbo.StatusUpdates AS ac4 ON ac4.ID = nd.ReleaseTrackerID) AS vNotes
GROUP BY ID;


Solution

  • Add the WHERE clause as shown below. The WHERE clause limits the data being returned.

    SELECT ID, 
    STRING_AGG(TRY_CONVERT(varchar, Issue#, 101)  + ': ' + Notes + CHAR(13) + CHAR(10) + CHAR(13), CHAR(10)) WITHIN GROUP (ORDER BY Issue# DESC) AS IssueNotes 
    FROM (SELECT DISTINCT 
        ac4.ID, 
        nd.Notes, 
        nd.Issue#,
        nd.IssueStatusID
    
    FROM dbo.IssueTracking AS nd
        INNER JOIN dbo.StatusUpdates AS ac4 ON ac4.ID = nd.ReleaseTrackerID
        WHERE nd.IssueStatusID = 1
    ) AS vNotes
    GROUP BY ID;