Ir para conteúdo

POWERED BY:

Arquivado

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

Juliana-Caserta

join

Recommended Posts

Ola gente, tenho as tabela:TABELA CATEGORIAID_CATEGORIA-----------NOME_CATEGORIA--------1-----------------------INFORMATICA TABELA SECAOID_SECAO-----ID_CATEGORIA---------NOME_SECAO--------1----------------1-----------------IMPRESSORATABELA SUBSECAOID_SUBSECAO-----ID_SECAO------NOMESUB_CATEGORIA--------1----------------1-----------------JATO DE TINTATABELA PRODUTOID_PRODUTO-------ID_SUBSECAO----------NOME_PRODUTO-------1---------------------1--------------------Impressora Hp 3535 Gostaria de saber como fazer, para buscar todos os produtos que pertence a categoria INFORMATICA.Ou seja, com o ID_SUBSECAO da tabela produto eu preciso fazer um JOIN pra saber de qual CATEGORIA este ID pertence.Desde Ja, muito grataJu

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom...montei as tabelas de acordo com a estrutura informada, o sql ficaria a principio assim:

SELECT NOME_PRODUTOFROM CATEGORIA, SECAO, SUBSECAO, PRODUTOWHERE PRODUTO.ID_SUBSECAO = SUBSECAO.ID_SUBSECAO AND SUBSECAO.ID_SECAO  = SECAO.ID_SECAO AND SECAO.ID_CATEGORIA = CATEGORIA.ID_CATEGORIA AND CATEGORIA.NOME_CATEGORIA = 'INFORMATICA'ORDER BY NOME_SUBSECAO

beleza?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem...neste caso não terá o filtro por categoria? tipo todas as categorias serão exibidas?na cláusula order by defini-se apenas o nome dos campos.ficaria assim:

SELECT NOME_CATEGORIA, NOME_PRODUTOFROM CATEGORIA, SECAO, SUBSECAO, PRODUTOWHEREPRODUTO.ID_SUBSECAO = SUBSECAO.ID_SUBSECAO ANDSUBSECAO.ID_SECAO  = SECAO.ID_SECAO ANDSECAO.ID_CATEGORIA = CATEGORIA.ID_CATEGORIA ANDORDER BYNOME_CATEGORIA, NOME_PRODUTO

esta query irá listar todos os produtos ordenados pela categoria e depois por produto. lol era isso mesmo? ^^ xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza.só corrigindo a query anterior (ficou um AND antes do order by que daria erro ao executar), agora tá certo:

SELECT NOME_CATEGORIA, NOME_PRODUTOFROM CATEGORIA, SECAO, SUBSECAO, PRODUTOWHEREPRODUTO.ID_SUBSECAO = SUBSECAO.ID_SUBSECAO ANDSUBSECAO.ID_SECAO  = SECAO.ID_SECAO ANDSECAO.ID_CATEGORIA = CATEGORIA.ID_CATEGORIA ORDER BYNOME_CATEGORIA, NOME_PRODUTO

eu pus o NOME_CATEGORIA no select só p/ exemplificar. mas o order by é esse mesmo.inté

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu já tive problemas com esse tipo de sintaxeeu prefiro selecionar separadamente.eu faria assim:selecionar todas as categorias ordenando por NOME_CATEGORIAe dentro do loop colocar outra instrução sql que vai listar os produtos.

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.