Corrigir uma query para aparecer duas moradas

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
novoa
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Seg, 13 Jul 2009 9:20 am
Localização: Esposende
novoa

Olá pessoal novamente

Eu pretendo corrigir a query de modo a que ela devolva a morada da sede e dos sub-departamentos, no caso do departamento ser um sub-departamento. De momento e neste caso (de ser um sub-departamento) nem aparece uma nem a outra morada.

Não estou a ver onde está o problema.

Se alguém me puder ajudar, agradecia........

Query:

Selecionar tudo


select   'Departamento: ' || d.nm_departamento tipo,
           dp.tx_morada,
           null localidade,
           dp.cod_postal || decode(dp.cod_postal, null, '', ' - ') || dp.sub_cod_postal codigo_postal,
           cp.descricao desc_cp,
           dp.cod_postal,
           dp.sub_cod_postal,
           null cod_postal_estrangeiro,
           null cod_pais_morada,
           null pais,
           null sigla,
           null desc_pais,
           'S' tp_envio
      from departamento d,
           departamento_para dp,
           sub_codigo_postal cp
     where d.id_tipo_departamento <> 1
       and dp.cod_divisao = d.cod_divisao
       and dp.cod_postal = cp.cod_postal(+)
       and dp.sub_cod_postal = cp.sub_cod_postal(+)
start with d.cod_divisao = :pedido.cod_divisao
connect by prior d.cod_divisao_pai = d.cod_divisao
  order by tipo


Abraço
erthal
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 130
Registrado em: Seg, 22 Nov 2004 1:45 pm
Localização: Niterói - RJ
Gustavo Erthal Jr. | TRISCAL
...................................................
Rio de Janeiro | (21) 2507-2010
São Paulo | (11) 3167-0526
www.triscal.com.br

Meu caro amigo,

Para tentar identificar onde está ocorrendo o problema, vá comentando as linhas da cláusula WHERE, uma de cada, vez para ver a partir de que ponto irá retornar linhas.

Não se preocupe com a possibilidade de retornar um plano cartesiano, porque assim que retornar uma linha, pelo menos, você saberá qual join está limitando o retorno das informações.

Abraços,
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

outra mesma dica..

com querys mais simples ou menos joins(conforme o nosso amigo já te disse)você vai poder confirmar se há realmente os dados que você busca.. pois as vezes você ta querendo ver algo que nem está la

e se resolver traz um pastelzinho de belem la de alem mares

:lol:
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes