Query for comma-separated ids to comma-separated values

后端 未结 5 1573
终归单人心
终归单人心 2021-01-03 03:16

I have 2 tables

Departments

ID  Dept
---------
1   HR
2   Accts
3   IT

Employee

I         


        
5条回答
  •  余生分开走
    2021-01-03 03:46

    Also you can use option with dynamic management function sys.dm_fts_parser
    Before script execution you need check full-text component is installed:

    SELECT FULLTEXTSERVICEPROPERTY ('IsFulltextInstalled')
    

    0 = Full-text is not installed. 1 = Full-text is installed. NULL = Invalid input, or error.

    If 0 = Full-text is not installed then this post is necessary to you How to install fulltext on sql server 2008?

    SELECT b.ID, b.Name, STUFF((
    SELECT ',' + d.Dept
    FROM Employees e 
      JOIN Departments d ON d.ID IN(
                                    SELECT display_term 
                                    FROM sys.dm_fts_parser('"' + e.Depts + '"', 1033, NULL, 0) 
                                    WHERE display_term NOT LIKE 'nn%'
                                    )
    WHERE b.ID = e.ID
    ORDER BY d.Dept
    FOR XML PATH('')), 1, 1, '') AS Depts
    FROM Employees b
    

    OR

    SELECT e.ID, e.Name, 
     (
      STUFF((
      SELECT ',' + Dept
      FROM sys.dm_fts_parser('"' + e.Depts + '"', 1033, NULL, 0) p JOIN Departments d ON p.display_term = d.ID
      WHERE display_term NOT LIKE 'nn%'
      FOR XML PATH('')), 1, 1, '')
      ) AS Depts
     FROM Employees e
    

提交回复
热议问题