Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

emersonandree

quebra de linha em uma query.

Recommended Posts

bom dia!

estou com dificuldades para gerar uma consulta...

tenho uma consulta que retorna as seguintes informações.

D,12345,10/07/2016,10/07/2016,s ,I, 456.00,10,1

 

 

então... preciso que na consulta o sql quebre a linha para ficar assim

D,12345,10/07/2016,10/07/2016,s ,

I, 456.00,10,1

 

 

como poderia proceder com isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente algo como

select table_name  || ' ' || tablespace_name || ' ' ||
       substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
from user_tables
where rownum < 12

usando o chr(10)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente algo como

select table_name  || ' ' || tablespace_name || ' ' ||
       substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
from user_tables
where rownum < 12

usando o chr(10)

motta...

desculpa minha ignorância mas da uma olhada no meu scrypt e ve se consegue me dar uma luz.

não consegui aplicar a sua sugestão.

select
    'D'-- DOCUMENTO
    ||','||
    CASE PDV.TIP_ID
      WHEN 2 THEN LPAD(TRIM('2209'), 6,'0')--CLIENTE
      WHEN 6 THEN LPAD(TRIM('2208'), 6,'0')--CLIENTE
    END  
    ||','||
    LPAD(TRIM(PDV.OPE_ID_PDV||''||SUM(PDV.EVV_VALOR)), 10,'0') --NUMERO DOCUMENTO
    ||','||
    '001' -- PARCELA
    ||','||
    RPAD(TRIM('RC'), 3,' ') -- TIPO DOCUMENTO
    ||','||
    TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')  --EMISSÃO                                          
    ||','||                                                                    
    TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')  --SAIDA                                                                                                                 -- data efetiva
    ||','||
    TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')  --VENCIMENTO
    ||','||
    TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')  --RECEBIMENTO
    ||','||
    LPAD(TRIM('0.000000'),15,' ') --Desconto  N 15,6 (99999999.999999) 073-087 00000000.000000
    ||','||
    LPAD(TRIM('0.000000'),15,' ') --Acréscimo  N 15,6 (99999999.999999) 089-103 00000000.000000
    ||','||
    CASE PDV.EVV_EVENTO                                                                                                                                   -- complemento
      WHEN 20 THEN
        CASE PDV.TIP_ID 
            WHEN 2 THEN RPAD(TRIM('VENDA PASSE CIDADAO PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
            WHEN 6 THEN RPAD(TRIM('VENDA PASSE ESTUDANTE PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
          END
      WHEN 21 THEN 
        CASE PDV.TIP_ID 
            WHEN 2 THEN RPAD(TRIM('CANC VENDA CIDADAO PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
            WHEN 6 THEN RPAD(TRIM('CANC VENDA ESTUDANTE PDV'||' '||PDV.OPE_ID_PDV||' '||'AGENCIADOR'||' '||PDV.OPE_ID_AGENCIADOR), 50,' ')
        END
    END
    ||','||
    CASE PDV.EVV_EVENTO    --QUITACAO
      WHEN 20 THEN 'S'
      WHEN 21 THEN 'N'
    END
    ||','||
    CASE PDV.EVV_EVENTO    --STATUS
      WHEN 20 THEN 'B'
      WHEN 21 THEN 'C'
    END
    ||','||   
    '   '--LPAD(TRIM(''), 3,' ') --INDICE
    ||','||
    '   '--LPAD(TRIM(''), 3,' ') --TIPO RECEBIMENTO
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR INSSCRC
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR IRRFCRC
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR PISCRC
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR CSLCRC
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR ISSCRC
    ||','||
    LPAD(TRIM('0.00'),13,' ') --VLR COFINSCRC
    ||','||
    RPAD(TRIM('S'), 5,' ')     --SERIE                                                                                                                         
    ||','||
    'I'        --TIPO
    ||','||
    LPAD(TRIM(1), 3,'0')   --ITEM
    ||','||
    CASE PDV.TIP_ID               --TIPO RECEITA                                                                                                                        
      WHEN 2 THEN LPAD(TRIM(10), 5,'0')
      WHEN 6 THEN LPAD(TRIM(9), 5,'0')
    END
    ||','||
    CASE PDV.EVV_EVENTO         --VALOR                                                                                                                   
      WHEN 20 THEN LPAD(TRIM(REPLACE(TO_CHAR(((SUM(PDV.EVV_VALOR)/100) - NVL(SUM(CANC.VALOR),0)),'FM999999990D00'),',','.')||''||'0000'), 15,' ')
      WHEN 21 THEN LPAD(TRIM(REPLACE(TO_CHAR((SUM(PDV.EVV_VALOR)/100) * -1,'FM999999990D00'),',','.')||''||'0000'), 15,' ')
    END
    ||','||
    LPAD(TRIM('N'), 50,' ') --OBS
    ||','||
    LPAD(TRIM(0), 2,'0') --NROPLANO
    ||','||
    LPAD(TRIM(0), 5,'0') --CODCUSTO
    ||','||
    LPAD(TRIM(0), 5,'0') --CODCONTACTB
    ||','||
    '     '--LPAD(TRIM('N'), 5,' ') --CODCUSTOFIN
   -- ||''||
    
    --substr(tablespace_name,1,2) || chr(10) || substr(tablespace_name,3,30)
   -- ,cast(('1500.00') as decimal(18,6))-- autentication
FROM 
  VIEW_EVV_VENDAS_PDV PDV
  LEFT JOIN(SELECT EVV_RECIBO AS RECIBO, SUM(EVV_VALOR)/100 AS VALOR
    FROM VIEW_EVV_VENDAS_PDV
    WHERE EVV_EVENTO = 21 AND EVV_DTHORA BETWEEN '01-07-2016' AND '02-07-2016'
    GROUP BY EVV_RECIBO
  )CANC ON(PDV.EVV_RECIBO = CANC.RECIBO)

WHERE 
  PDV.EVV_EVENTO IN (20,21) 
  AND PDV.EVV_DTHORA BETWEEN '01-07-2016' AND '02-07-2016'
  AND PDV.TIP_OPE_USU = 0
  AND PDV.EVV_VENDA_ADM = 0
  AND PDV.ENT_ID = 2
  AND PDV.TIP_ID IN (2,6)

GROUP BY
    TO_CHAR(PDV.EVV_DTHORA,'DD/MM/YYYY')
    ,TO_CHAR(PDV.EVV_DTHORA,'DDMMYY')
    ,PDV.OPE_ID_AGENCIADOR
    ,PDV.OPE_ID_PDV
    ,PDV.TIP_ID
    ,PDV.EVV_EVENTO
    --,CANC.VALOR
ORDER BY PDV.OPE_ID_PDV DESC;




SELECT * FROM VIEW_EVV_VENDAS_PDV WHERE EVV_DTHORA BETWEEN '11-02-2016' AND '12-02-2016' AND EVV_EVENTO IN (20,21) AND CRU_ID = 20426;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade é usar o

chr(10) 

para saltar a linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do software usado , aqui com SqlDeveloper gerando script funfou

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende do software usado , aqui com SqlDeveloper gerando script funfou

então... eu também uso, mas pra mim não quebra a linha não. não entendo o porque disso... :(

olha um parte do código aqui...

RPAD(TRIM('S'), 5,' ') --SERIE                                                                                                                         
||chr(10) ||
'I'        --TIPO
||','||
LPAD(TRIM(1), 3,'0')   --ITEM

seria isso ??? ou estou me equivocando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim , mas só "quebra" no SqlDeveloper na opção Executar Script

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por janir.matheus
      Boa tarde, peço ajuda dos membros desse fórum pois confesso estar completamente perdido.
      Tomando como base o diagrama (em anexo), preciso de uma query que retorne as empresas, seus produtos e as categorias de cada produto, sendo que cada produto pode pertencer a uma ou mais categorias.
       
      select tbl_produtos.Empresa, tbl_empresas.Nome, tbl_catprod.Categoria, tbl_classproduto.Classe, tbl_produtos.Id, tbl_produtos.Produto from tbl_produtos inner join tbl_empresas on tbl_produtos.Empresa = tbl_empresas.Id left join tbl_catprod on tbl_produtos.Id = tbl_catprod.Categoria left join tbl_classproduto on tbl_catprod.Categoria = tbl_classproduto.Id; Tentei a consulta mostrada acima mas o resultado não foi o que eu esperava.
      Agradeço antecipadamente pela ajuda.

    • Por FabianoSouza
      Pessoal, por que essa query com COLLATE  não funciona?
      declare @strPesquisa varchar(30) SET @strPesquisa = 'naicle' SET @sql = 'SELECT ' SET @sql = @sql + 'ML.nome ' SET @sql = @sql + 'FROM ' SET @sql = @sql + 'dbo.minhaTab AS ML ' SET @sql = @sql + ' WHERE ' SET @sql = @sql + ' nome LIKE ' SET @sql = @sql + '''%' + @strPesquisa COLLATE Latin1_General_CI_AI + '%''' EXEC (@sql) Não acusa erro ao rodar.
      Mas não traz os registro porque está gravado como "naiclê" (com acento), o que significa que não está aplicando a COLLATE.
       
      Montando essa mesma query mas da forma tradicional, o COLLATE funciona.
       
      SELECT ML.nome FROM dbo.minhaTab AS ML WHERE nome LIKE '%'+ @strPesquisa COLLATE Latin1_General_CI_AI+'%'  
       
    • Por peterstefan
      Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0,  mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
      preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0 
       
      SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';  
    • Por mamotinho
      oi pessoal estou com um problema , não estou conseguindo passar todos os valores o foreach no json_encode() alguém poderia me ajudar, eu estou tentando monta um mecanismo de refresh em tempo real de uma lista de notificação veja abaixo:
       
      <script type="text/javascript"> function make_call() { // Fazendo requisição AJAX $j.post('teste.php', function (frase) { // Exibindo frase $j('#listas').html('<i>' + frase + '</i>'); }, 'JSON'); setTimeout(function(){ make_call(); }, 5000); } </script>
      Aqui é o arquivo que quero enviar para a div #lists
       
      <?php require("conexao/directory.php"); $notificar = $db->query("select TOP 5 * from Techi7CP.dbo.cabal_notificacao_geral order by regdate desc"); $notificacao = $notificar->fetchAll(); $count_notificacao = abs($notificar->rowCount()); if($count_notificacao==0){ echo '<li style="text-align:center;">não existe notificações no momento.</li>'; }else{ foreach($notificacao as $notif){ $consulta_conta = $db->query("select * from account.dbo.cabal_auth_table where UserNum='".$notif['usernum']."'")->fetchObject(); switch($notif['acao']){ case 'logadopremiado' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle red small">redeem</span>'.$notif['jogador'].' ganhou no Logado Premiado</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'mudarsenha' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle teal small">vpn_key</span>'.$consulta_conta->Nome.' alterou sua senha</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'distribuirpontos' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle cyan small">control_point</span>'.$notif['jogador'].' distribuiu seus pontos</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'girodasorte' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle brown small">star_border</span>'.$consulta_conta->Nome.' usou o giro da sorte</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'sistematpoint' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle green small">golf_course</span>'.$notif['jogador'].' recebeu seu tpoint por clique</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; case 'combo' : echo ' <li><a class="black-text" href="#!"><span class="material-icons icon-bg-circle amber small">videogame_asset</span>'.$notif['jogador'].' fez '.$notif['ExtraDetalhes'].' em sua primeira vez</a> <time class="media-meta grey-text darken-2" datetime="2015-06-12T20:50:48+08:00"> '.Data::ExibirTempoDecorrido(date("Y-m-d H:i:s.B", strtotime($notif['regdate']))).'</time> </li>'; break; } } } ?> como eu faria para ser exibido todos os resultados registrados com o json_encode().
    • Por mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.