Last active
June 11, 2020 00:15
-
-
Save celsojr/bb41ca117297e99665302e1d6192569b to your computer and use it in GitHub Desktop.
Generating a Json file from a SQL query
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE @Participantes TABLE | |
( | |
Numero INT | |
) | |
INSERT INTO @Participantes VALUES (1), (2), (3) | |
DECLARE @RESPONSAVEL_TECNICO INT = 1 | |
DECLARE @TRUE INT = 1 | |
DECLARE @PRINCIPAL INT = 1 | |
SELECT | |
-- PARTICIPANTE | |
P.Id AS 'id' | |
, P.CNPJ AS 'cnpj' | |
, ISNULL(P.NomeFantasia, p.RazaoSocial) AS 'nome_fantasia' | |
, P.RazaoSocial AS 'razao_social' | |
, P.Email AS 'email' | |
, REPLICATE('0', (5 - Len(CAST(P.Numero As Varchar)))) + CAST(P.Numero As Varchar) AS 'numero' | |
, P.RazaoSocialCertificado AS 'razao_social_certificado' | |
, P.AlvaraSanitario AS 'alvara_sanitario' | |
, P.InscricaoMunicipal AS 'inscricao_municipal' | |
, CONVERT(char(10), P.DataInscricao, 126) AS 'data_inscricao' | |
, P.SituacaoId AS 'situacao_id' | |
, CAST(P.RecebePlaca AS INT) AS 'recebe_placa' | |
, CAST(P.Estrangeiro AS INT) AS 'estrangeiro' | |
, CONVERT(char(10), P.Reativacao, 126) AS 'reativacao' | |
, P.MatrizId AS 'matriz_id' | |
, P.FontePagadoraCNPJ AS 'fonte_pagador_cnpj' | |
, P.FontePagadoraRazaoSocial AS 'fonte_pagador_razao_social' | |
, P.OrigemId AS 'origem_id' | |
, CAST(P.RecebePlanilha AS INT) AS 'recebe_planilha' | |
, CAST(P.NaoRecebeMaterial AS INT) AS 'nao_recebe_material' | |
, CAST(P.RecebeEmMaos AS INT) AS 'recebe_em_maos' | |
, P.TipoEstatalId AS 'tipo_estatal_id' | |
, CONVERT(char(10), P.DataPrimeiraAtivacao, 126) AS 'data_primeira_ativacao' | |
, CONVERT(char(10), P.DataCancelamento, 126) AS 'data_cancelamento' | |
, P.ContatoRecebimentoKit AS 'contato_recebimento_kit' | |
, CAST(P.CalculoAutomatico AS INT) AS 'calculo_automatico' | |
, P.Mensalidade AS 'mensalidade' | |
, P.InscMunFontePagadora AS 'insc_municipal_fonte_pagadora' | |
, P.InscEstFontePagadora AS 'insc_estadual_fonte_pagadora' | |
, P.CobrancaCNPJ AS 'cobranca_cnpj' | |
, P.CobrancaRazaoSocial AS 'cobranca_razao_social' | |
, P.KitRazaoSocial AS 'kit_razao_social' | |
, CONVERT(char(10), P.DataSolicitacaoInscricao, 126) AS 'data_solicitacao_inscricao' | |
, U.Senha AS 'password' | |
-- RESPOSÁVEL TÉCNICO | |
-- CONTATO | |
, C.Id AS 'responsavel_tecnico.contato.id' | |
, C.ParticipanteId AS 'responsavel_tecnico.contato.participante_id' | |
, C.AreaId AS 'responsavel_tecnico.contato.area_id' | |
, C.Nome AS 'responsavel_tecnico.contato.nome' | |
, C.Cargo AS 'responsavel_tecnico.contato.cargo' | |
, C.Telefone AS 'responsavel_tecnico.contato.telefone' | |
, C.Ramal AS 'responsavel_tecnico.contato.ramal' | |
, C.Fax AS 'responsavel_tecnico.contato.fax' | |
, C.Email AS 'responsavel_tecnico.contato.email' | |
, C.SocioSBAC AS 'responsavel_tecnico.contato.socio_sbac' | |
, C.Matricula AS 'responsavel_tecnico.contato.matricula' | |
, C.Conselho AS 'responsavel_tecnico.contato.conselho' | |
, C.NumeroConselho AS 'responsavel_tecnico.contato.numero_conselho' | |
, C.EstadoConselho AS 'responsavel_tecnico.contato.estado_conselho' | |
, C.SolicitacaoId AS 'responsavel_tecnico.contato.solicitacao_id' | |
, C.ColaboradorId AS 'responsavel_tecnico.contato.colaborador_id' | |
-- USUÁRIO | |
, U.Id AS 'responsavel_tecnico.usuario.id' | |
, U.ParticipanteId AS 'responsavel_tecnico.usuario.participante_id' | |
, U.Nome AS 'responsavel_tecnico.usuario.nome' | |
, U.[Login] AS 'responsavel_tecnico.usuario.login' | |
, U.Senha AS 'responsavel_tecnico.usuario.senha' | |
, U.Email AS 'responsavel_tecnico.usuario.email' | |
, U.StatusId AS 'responsavel_tecnico.usuario.status_id' | |
-- ENDEREÇO | |
, E.Id AS 'endereco.id' | |
, E.ParticipanteId AS 'endereco.participante_id' | |
, REPLACE(E.CEP, '.', '') AS 'endereco.cep' | |
, E.Tipo AS 'endereco.tipo' | |
, E.Logradouro AS 'endereco.logradouro' | |
, E.Numero AS 'endereco.numero' | |
, E.Complemento AS 'endereco.complemento' | |
, E.Bairro AS 'endereco.bairro' | |
, E.Cidade AS 'endereco.cidade' | |
, E.Estado AS 'endereco.estado' | |
, E.Pais AS 'endereco.pais' | |
, E.TipoEnderecoId AS 'endereco.tipo_endereco_id' | |
, E.Estrangeiro AS 'endereco.estrangeiro' | |
FROM Participantes P | |
INNER JOIN Contatos C ON C.ParticipanteId=P.Id | |
INNER JOIN Enderecos E ON E.ParticipanteId=P.Id | |
INNER JOIN Usuarios U ON U.ParticipanteId=P.Id | |
WHERE (1 = 1) | |
AND P.Numero IN (SELECT Numero FROM @Participantes) | |
AND C.AreaId = @RESPONSAVEL_TECNICO | |
AND ISNUMERIC(U.[Login]) = @TRUE | |
AND CAST(P.Numero AS VARCHAR) = U.[Login] | |
AND E.TipoEnderecoId = @PRINCIPAL | |
FOR JSON PATH | |
, INCLUDE_NULL_VALUES | |
, ROOT('listParticipant') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment