Ir para conteúdo

Arquivado

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

Rafael Graciano

[Resolvido] Problema com Subquery

Recommended Posts

Bom dia pessoal!

 

Como sou novo em SQL não sei como colocar a mesma coluna que é utilizada em duas tabelas distintas.

Olhem a sintaxe que eu fiz:

SELECT material_codigo, 
      material_descricao_extendida, 
      componente_codigo,
      (
      SELECT B.material_descricao_extendida
       FROM material B, componente C
       WHERE ( material_codigo =* C.componente_material_codigo_componente )
      )      AS Componente_Descricao

FROM material, componente
WHERE (  componente_material_codigo = material_codigo  )  AND 
      ( material_excluido = 'N' ) AND 
      ( material_grupo = 'medicamentos' )

Não sei se ajuda muito, mas vou tentar explicar:

 

Tenho um medicamento que comporta varios componentes.

Na tabela de Componentes, tenho uma coluna componente_material_codigo e uma coluna componente_material_codigo_componente. Ambas são FK, sendo a 1ª PK de Componente.

Só que eu quero pegar a descricao extendida para componente_material_codigo_componente que está na tabela material (material_descricao_extendida).

 

Exemplo:

 

Medicamento (material_descricao_extendida) : Kit Noripurum (componente_material_codigo = 1)

Componente (B.material_descricao_extendida): Agulha Descartavel (componente_material_codigo_componente = 2)

Medicamento (material_descricao_extendida) : Kit Noripurum (componente_material_codigo = 1)

Componente (B.material_descricao_extendida): Seringa Descartavel (componente_material_codigo_componente = 3)

Medicamento (material_descricao_extendida) : Kit Noripurum (componente_material_codigo = 1)

Componente (B.material_descricao_extendida): Solucao Fisiologica (componente_material_codigo_componente = 4)

Medicamento (material_descricao_extendida) : Kit Noripurum (componente_material_codigo = 1)

Componente (B.material_descricao_extendida): Noripurum 5 mL (componente_material_codigo_componente = 5)

 

Resumo: o material Kit Noripurum tem 4 componentes: agulha, seringa, solucao e Noripurum 5 mL.

 

Desculpem se fui confuso, mas tentei ser mais claro possível. Se necessário, dou mais detalhes da minha dúvida...

 

Desde já, obrigado!

 

Editado:

 

Não sei se você se refere a isso, mas veja os dados abaixo

 

componente_material_codigo = PK e FK de material_codigo

componente_material_codigo_componente = PK e FK de material_codigo

 

material_codigo = PK

material_descricao_extendida = Coluna desejada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui!

 

Valeu pela ajuda Fábio, mas consegui aqui.

 


SELECT



      componente.componente_material_codigo,
      componente.componente_material_codigo_componente,
      componente.componente_tipo,
      componente.componente_quantidade,
      componente.componente_ordem,
      material.material_descricao_extendida as componente_descricao,



                                                 (

select


      b.material_descricao_extendida


from

      material b


where 


      ( b.material_codigo = componente.componente_material_codigo )




                                                 )  as descricao_extendida




FROM


      componente, 
      material



WHERE

      ( componente.componente_material_codigo_componente = material.material_codigo )




ORDER BY 

        componente.componente_componente_codigo ASC,
        componente.componente_ordem ASC

 

Dessa forma acima funcionou direitinho... :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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