Introdução
Segue como extrair informações sobre os pedágios pagos para cartões específicos.
Passo a passo
Substitua os XXXXX pelos identificadores
SELECT
tbProtocoloCargaPedagio.id,
ct.nome AS CONTRATANTE,
tbCartao.identificador,
isnull(tr.nome,PF.nome) AS 'TRANSPORTADOR',
tbProtocoloCargaPedagio.valor,
format (tbProtocoloCargaPedagio.dataInicioCarga, 'dd/MM/yyyy') as 'Data Pagto',
tbCartaFrete.CIOT,
tbProtocoloCargaPedagio.NDVP,
CASE tbProtocoloCargaPedagio.statusProtocolo
WHEN '0' THEN 'Consulta'WHEN '1' THEN 'S1_Lido'WHEN '2' THEN 'S1_Enviado'WHEN '3' THEN 'S1_Erro'
WHEN '4' THEN 'S2_OK'WHEN '5' THEN 'S2_Erro'WHEN '6' THEN 'S3_Enviado'WHEN '7' THEN 'S3_Erro'
WHEN '8' THEN 'Finalizado'WHEN '9' THEN 'Estorno_OK'ELSE 'Estorno_Erro'
END AS [STATUS PROTOCOLO PEDAGIO]
FROM tbProtocoloCargaPedagio(NOLOCK)
JOIN tbPortadorCartao(NOLOCK) ON tbPortadorCartao.id = tbProtocoloCargaPedagio.portadorCartaoId
JOIN tbCartao(NOLOCK) ON tbCartao.id = tbPortadorCartao.cartaoId
JOIN tbPostoTroca(NOLOCK) ON tbPostoTroca.id = tbProtocoloCargaPedagio.postoTrocaId
JOIN tbPessoaFisicaJuridica(NOLOCK) [ct] ON ct.id = tbPostoTroca.juridicaId
JOIN tbPagamentoPedagio(NOLOCK) ON tbPagamentoPedagio.id = tbProtocoloCargaPedagio.pagamentoPedagioId
LEFT JOIN tbCartaFrete(NOLOCK) ON tbCartaFrete.id = tbPagamentoPedagio.idCartaFrete
LEFT JOIN tbTransportador(NOLOCK) ON tbTransportador.id = tbCartaFrete.transportadorId
LEFT JOIN tbPessoaFisicaJuridica(NOLOCK) [tr] ON tr.id = tbTransportador.fisicajuridicaId
LEFT JOIN tbOperacaoValePedagio(nolock) on tbProtocoloCargaPedagio.NDVP = tbOperacaoValePedagio.NDVP
LEFT JOIN tbTransportador(nolock)[tra] on tbOperacaoValePedagio.transportadorId = tra.id
LEFT JOIN tbPessoaFisicaJuridica(nolock)[PF] on tra.fisicajuridicaId = PF.id
WHERE tbCartao.gestorCartaoId = 8 and tbCartao.identificador in (XXXXX,XXXXX,XXXXX) order by tbcartao.identificador
Outras informações
Fonte: João Carlos Lemos Kryzozun