11/04/2018 Database / sql server

Esse é o maior pulo do gato que eu descobri ultimamente em relação a conversão de Select para Json.

Essa primeira query, cria um objeto P e um objeto F, nao deixando tudo na mesma linha

SELECT 

      [SENHA_USU] as password

      ,[NIVEL_USU] as nivel

      ,[ATIVO_USU] as ativo

      ,[NOME_PES] as displayName

  ,EMAIL as email

      ,[DT_ENTRADA_FUNC] as dtEntrada

      ,[DT_SAIDA_FUNC] as dtSaida

      ,[SALARIO_FUNC] as salario

      ,[CARGO_FUNC] as cargo

      ,[COMMISSAO_FUNC] as comissao

  FROM [cobsystems].[dbo].[USUARIOS] inner join FUNCIONARIOS_OLD on USUARIOS.COD_FUNC = FUNCIONARIOS_OLD.COD_FUNC inner join PESSOAS on PESSOAS.COD_PES = FUNCIONARIOS_OLD.COD_PES order by COD_USU  FOR json auto

 

query arrumada

Essa query deixa tudo na mesma linha!

SELECT m.* 

         FROM (

 

SELECT 

      U.SENHA_USU as password,

      U.NIVEL_USU as nivel,

  IIF(U.ATIVO_USU = 1, 'true', 'false') as ativo,

 

      P.NOME_PES as displayName,

  isnull(P.EMAIL, '') as email,

      F.DT_ENTRADA_FUNC as dtEntrada,

      F.DT_SAIDA_FUNC as dtSaida,

      convert(int, isnull(F.SALARIO_FUNC, 0)) as salario,

      F.CARGO_FUNC as cargo,

      convert(int, isnull(F.COMMISSAO_FUNC,0)) as comissao

  FROM [cobsystems].[dbo].[USUARIOS] as U inner join [cobsystems].[dbo].[FUNCIONARIOS_OLD] F on U.COD_FUNC = F.COD_FUNC inner join [cobsystems].[dbo].[PESSOAS] P on P.COD_PES = F.COD_PES

 

) AS m

         FOR JSON AUTO