加入 2 select 个语句

Join 2 select statements

如何连接这两个 select 语句: 我尝试将 @formateurs 添加到第二个查询,但它不起作用。

第一次查询:

DECLARE @formateurs varchar(max)
SET @formateurs = ''

SELECT @formateurs = @formateurs + distinct(formateur) 
FROM onglet_forma_salles 
WHERE code = '0000001' 
ORDER BY Sort

SELECT @formateurs

第二次查询:

SELECT code, u_date, cardname, @formateurs
FROM session s
JOIN onglet_forma_salles ofs ON s.code = ofs.code
WHERE s.code = '0000001'
GROUP BY u_date

第二个查询的正确语法如下:-

    DECLARE @formateurs varchar(max)
    SET @formateurs = ''

    SELECT s.code, u_date, cardname, @formateurs
    FROM session s JOIN onglet_forma_salles ofs 
    ON s.code = ofs.code
    WHERE s.code = '0000001'
    GROUP BY s.code, u_date, cardname

这应该提供一个不同的 [formateurs] 列表(以逗号分隔)

SELECT
      g.code, g.u_date, g.cardname, fxp.formateurs
FROM (
      SELECT
            code
          , u_date
          , cardname
      FROM session s
            JOIN onglet_forma_salles ofs ON s.code = ofs.code
      WHERE s.code = '0000001'
      GROUP BY
            u_date
) AS g
      OUTER APPLY (
            SELECT
                  STUFF((
                        SELECT DISTINCT
                              ',' + formateur
                        FROM onglet_forma_salles
                        WHERE g.code = onglet_forma_salles.code
                        FOR xml PATH (''), TYPE
                  )
                  .value('.', 'NVARCHAR(MAX)')
                  , 1, 1, '')
      ) AS fxp (formateurs)