SQLServer2005以降を使用している場合。次に、次のように実行できます。
SELECT 
    JobsTagMap.JobID,
    STUFF
    (
        (
            SELECT 
                ',' +Title
            FROM
                Tags
            WHERE
                Tags.TagID=JobsTagMap.TagID
            FOR XML PATH('')
        )
    ,1,1,'') AS Title
FROM JobsTagMap
編集
異なるテーブルのテーブル構造とデータを表示しなかったためです。ちょっとわかりづらいです。したがって、テーブル構造は次のようになっていると思います。
CREATE TABLE JobsTagMap
(
    JobID INT,
    TagID INT
)
CREATE TABLE Tags
(
    TagID INT,
    Title VARCHAR(100)
)
このデータで:
INSERT INTO JobsTagMap
VALUES(1,1),(1,2),(2,2),(2,4),(2,5)
INSERT INTO Tags
VALUES(1,'Tag1'),(2,'Tag2'),(3,'Tag2'),(4,'Tag5'),(5,'Tag9')
表示しているデータを取得している場合は、JobID一意にすることはできません。あなたはJobそれがユニークであるところにテーブルを持っているかもしれません。表示しているこれらのテーブルを使用したいだけの場合は、次のようなことを行う必要があります。
;WITH CTE
AS
(
    SELECT
        ROW_NUMBER() OVER(PARTITION BY JobID ORDER BY JobID) AS RowNbr,
        JobsTagMap.*
    FROM
        JobsTagMap
)
SELECT
    *,
    STUFF
    (
        (
            SELECT 
                ',' +Title
            FROM
                Tags
                JOIN JobsTagMap
                    ON Tags.TagID=JobsTagMap.TagID
            WHERE
                JobsTagMap.JobID=CTE.JobID
            FOR XML PATH('')
        )
    ,1,1,'') AS Title
FROM
    CTE
WHERE
    CTE.RowNbr=1
これにより、次の結果が得られます。
1   1   1   Tag1,Tag2
1   2   2   Tag2,Tag5,Tag9
したがって、将来的には常にどのテーブル構造とそのデータを表示するかを示します。それはあなたにもっと良い答えを与えるでしょう