1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Duas consultas na mesma Query

Bom tarde pessoal!

Tenho dois select e preciso usa-los na mesma consulta. Alguém poderia me ajudar nessa query.

Primeiro:

select     
agmt.mant_cd, agmt.ddbc_cd, 
agmt.agmt_agc, agmt.agmt_dg_ag, 
                agmt.agmt_ct, agmt.agmt_dg_ct,
                mant.mant_nm, mant.mant_cnp, 
                coalesce(mant.mant_en, '') ||
                coalesce(', ' || mant.mant_en_nr, '') ||
                coalesce(' - ' || mant.mant_en_bai, '') ||
                coalesce(' - ' ||mant.mant_en_cid, '') ||
                coalesce('/' || mant.mant_uf, '') ||
                coalesce(' - ' || mant.mant_cep, '') as mant_en,
                mant.mant_en_nr, mant.mant_en_bai,
                mant.mant_en_cmp, mant.mant_en_cid, 
                mant.mant_uf, mant.mant_cep, 
                mant.mant_fn1, mant.mant_fn2,
                mant.mant_fax, mant.mant_dt_des,
                ddbc.ddbc_cd, ddbc.ddbc_cd_cp, 
                ddbc.ddbc_nm, ddbc.ddbc_ct, 
                ddbc.ddbc_tp_cb, ddbc.ddbc_ns_nr,
                ddbc.ddbc_dg_nn, ddbc.ddbc_ac, 
                ddbc.ddbc_md, pmbc.pmbc_nm, pmbc.pmbc_vl
        from    tfncagmt agmt
        join    tfncmant mant on mant.mant_cd = agmt.mant_cd
        join    tfncddbc ddbc on ddbc.ddbc_cd = agmt.ddbc_cd
        join    tfncpmbc pmbc on pmbc.pmbc_cd = ddbc.pmbc_cd

Segundo :

SELECT  DISTINCT

        lanc.lanc_cd, matr.matr_cd, matr.alun_cd, alun.alun_cd, alun.pess_id, alun.alun_mt, pess.pess_nm, inst.inst_id, inst.inst_nm, prlt.prlt_cd, matr.prlt_cd, sede.sede_cd, 
        sede.sede_nm, curs.curs_cd, curs.curs_nm, turn.turn_cd, turn.turn_ds, lanc.nm_parc, lanc.vl_pres, lanc.dt_lanc, lanc.tp_lanc, pclc.dt_venc, pclc.vl_parc

            FROM tfnclanc lanc

        LEFT JOIN tfncpclc pclc ON pclc.lanc_cd = lanc.lanc_cd

        LEFT JOIN tmatmatr matr ON matr.matr_cd = lanc.matr_cd

        LEFT JOIN tmatalun alun ON alun.alun_cd = matr.alun_cd

        LEFT JOIN tsigprlt prlt ON prlt.prlt_cd = matr.prlt_cd

        LEFT JOIN tsigcurs curs ON curs.curs_cd = matr.curs_cd

        LEFT JOIN tsigturn turn ON turn.turn_cd = matr.turn_cd

        LEFT JOIN tsiginst inst ON inst.inst_id = matr.inst_id

        LEFT JOIN tsigsede sede ON sede.sede_cd = matr.sede_cd AND sede.inst_id = matr.inst_id

        LEFT JOIN tsigpess pess ON pess.pess_id = alun.pess_id

        LEFT JOIN tsigdsgd dsgd ON dsgd.grad_cd = matr.grad_cd

        LEFT JOIN tsigdisc disc ON disc.disc_cd = dsgd.disc_cd 

        LEFT JOIN tsigsvht svht ON svht.svht_tt_cd = dsgd.dsgd_tt_cd

        LEFT JOIN tsigserv serv ON serv.serv_id = svht.serv_id
  • Não existe um porque de usar duas consultas na mesma query. Isso não faz sentindo. Você pode querer faze-las em sequencia. Explique melhor a situação.

    Krismorte   08 de out de 2015
  • @Denis, o que o @Krismorte lhe alertou está correto. A pergunta é: você quer executar as duas fazendo somente uma chamada? Se for isso, você pode (repito, PODE, apesar de não ser o mais aconselhado) criar uma stored procedure (pesquise o termo e veja como é no bd que está usando). Todavia ainda acho que precisas somente explicar melhor mesmo do que quer fazer pra podermos te ajudar melhor.

    adriano_si   08 de out de 2015
  • Kris é porque preciso dos atributos das duas tabelas no IREPORT e não não possuem nenhum relacionamento, mas acho que posso fazer um CROSS JOIN para isso.

    Denis   08 de out de 2015
  • Você pode postar seu código. Eu acho que o IReport aceita vários objetos. Se não for possível você deve criar um objeto que não reflete uma tabela, um objeto apenas para o relatório montado a partir dessas consultas.

    Krismorte   08 de out de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mysql ou faça a sua própria pergunta.