none
CTE com list RRS feed

  • Pergunta

  • Boa Tarde Pessoal. 

    Possuo um CTE e precisava realizar uma alteração nela, tendo em vista que não a maior parte dos campos nela me serve, 

    o que preciso seria inserir um list pois a mesma vai alimentar um datagridview C# windowsforms. 

    o list  carregaria num campo combobox da datagridview e deveria conter os seguintes itens "S"/ "SA"/"TR"/"S-TR"

    minha pergunta é possível ?  fazer isso direto na CTE .

    declare @dthji datetime, @dthjf datetime; set @dthji = Convert(datetime, '1/1/2015', 103); set @dthjf = Convert(datetime, '31/1/2015', 103);
    
    WITH CTE_DATA AS ( SELECT @dthji AS DATA UNION ALL SELECT DATEADD(DAY,1,DATA) FROM CTE_DATA WHERE DATA < @dthjf ) 
    SELECT   Convert(VARCHAR,DATA,103) as DATA, ISNULL(Convert(VARCHAR, TD.DataVoo, 103), '') as DataV,
    cast(DATEPART(YEAR, DATA) as varchar(5)) AS Ano, DATENAME(MONTH,DATA) as Mes,
    DATEPART(DAY, DATA) AS DT,
    CONVERT(VARCHAR(5),min(TD.Partida), 108) as Atv,
     CONVERT(VARCHAR(5),max(TD.Pouso),108) as Fim,
     CONVERT(VARCHAR(5),max(TD.jornIni),108) as JornIni,CONVERT(VARCHAR(5),max(TD.jornRefIni),108) as JornRefIni,
     CONVERT(VARCHAR(5),max(TD.jornRefFin),108) as JornRefFin,CONVERT(VARCHAR(5),max(TD.jornFina),108)as JornFina,
     td.Nome_Piloto,td.Tot_partida, 
        STUFF( (SELECT DISTINCT ', ' + TM.Modelo  FROM Tbl_DiarioFrota as s
                LEFT JOIN Tbl_Aeronave as TA ON TA.id_aero = s.id_aero
                LEFT join Tbl_ModeloAeronave as TM on TM.id_ModAero = TA.id_modAero
                WHERE TD.DataVoo = s.DataVoo
                FOR XML PATH(''), TYPE).value('.', 'varchar(max)')
               ,1, 2, '') as Modelo, 
          DATENAME(MONTH, td.DataVoo) as MES,cast(DATEPART(YEAR, td.DataVoo) as varchar(5)) AS ANO,
         sum(td.Total) as subt ,td.CodAncPilot
    FROM CTE_DATA A LEFT JOIN Tbl_DiarioFrota as TD ON TD.DataVoo = A.DATA and td.Nome_Piloto = 'felipe' 
    
    group by  A.DATA,TD.DataVoo,td.Nome_Piloto,td.Tot_partida,td.CodAncPilot,td.id_Piloto
    order by A.DATA
    OPTION(MAXRECURSION 0 )

    Desde ja agradeço quem puder ajudar.

    quinta-feira, 6 de julho de 2017 17:18

Respostas

Todas as Respostas

  • O máximo que da pra fazer e criar uma coluna no retorno da CTE com esses valores ,

    são sempre esses valores ??

    se sim   existe mesmo a necessidade desse retorno está no banco de dados , pois poderia ficar na aplicação


    Wesley Neves - Brasilia-DF


    wesley.si.neves@gmail.com
    MTA-SQL Server
    MTA- Web Development
    Analista Desenvolvedor.NET
    Pós-Graduando em Banco de Dados 
    "Se a resposta for útil ou ajudar ,não esqueça de marcar"


    Wesley Neves



    Wesley Neves

    quinta-feira, 6 de julho de 2017 17:30
  • Valeu Wesley. 

    Inseri na aplicação mesmo.

    • Marcado como Resposta Wsti quinta-feira, 6 de julho de 2017 21:13
    quinta-feira, 6 de julho de 2017 21:13