Ir para conteúdo

POWERED BY:

Arquivado

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

Jonatas Cruz_153597

SELECT 2 tabelas

Recommended Posts

Caros, é o seguinte:

 

Tem uma tabela item onde é listado os itens na tela de vendas, porem tem também a opção de vender marmitex, que seria um conjunto de itens. Dai eu queria no mesmo select fazer aparecer os itens e a marmitex.

 

A estrutura seria assim:

 

item

item_cod

 

montarProduto

mon_cod

 

montarProduto_Item

item_cod

mon_cod

 

A desencargo eu tentei rodar o seguinte select, que não trouxe o resultado esperado:

 

SELECT i.item_cod, COALESCE( i.item_descricao, '' ) AS item_descricao, COALESCE( i.item_qtde, '' ) AS item_qtde, COALESCE( i.item_valorUnitario, '' ) AS item_valorUnitario, m.mon_cod, m.mon_desc
FROM ITEM i
INNER JOIN montarProduto_item mi ON mi.item_cod = i.item_cod
INNER JOIN montarProduto m ON m.mon_cod = mi.mon_cod

Eu queria um resultado mais ou menos assim:

Marmitex 1

Lata 350 ml

Marmitex 2

Suco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu quero que retorne tanto os registros da tabela item, como os registros da tabela montarProduto, (que é 'composto' por itens).

Ta confuso mesmo, talvez esteja no caminho errado.

 

Na tabela item seria armazenado, coca lata, coca garrafa e etc, alem dos itens que são usados para compor uma marmitex como por exemplo, arroz, feijão... esses ultimos itens são usados na tabela montarProduto.

 

Dai eu queria um select que trouxesse algo como:

Des Valor QTde

Marmitex 10.50 5

Coca lata 2.50 5

 

E usando inner join pra juntar as tabelas, o resultado é:

SELECT i.item_cod, COALESCE( i.item_descricao, '' ) AS item_descricao, COALESCE( i.item_qtde, '' ) AS item_qtde, COALESCE( i.item_valorUnitario, '' ) AS item_valorUnitario, m.mon_cod, m.mon_desc
FROM ITEM i
INNER JOIN montarProduto_item mi ON mi.item_cod = i.item_cod
INNER JOIN montarProduto m ON m.mon_cod = mi.mon_cod 

item_cod 	item_descricao 	item_qtde 	item_valorUnitario 	mon_cod 	mon_desc 	
2 	Arroz 	5.00 	10.00 	1 	Marmitex
3 	Feijão 	2.50 	10.35 	1 	Marmitex
1 	Leite 	-4.00 	10.50 	1 	Marmitex


Acho que não existe isso que eu to imaginando, vou ter que fazer dois selects pra conseguir ter o resultado mesmo, acho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que entendi

 

Você quer que os items que a pessoa comprou no marmitex venha marcado como o conjunto de marmitex?

 

Por exemplo:

 

A pessoa comprou uma coca e um marmitex que contem arroz, feijão e salada

ai o select só retorne a coca e o marmitex.

 

 

Coca = 5.00

Arroz = 2.00

Feijão = 2.00

salada = 4.00

 

Coca = 5.00

Marmitex = 8.00

 

 

É isso que você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que entendi

 

Você quer que os items que a pessoa comprou no marmitex venha marcado como o conjunto de marmitex?

 

Por exemplo:

 

A pessoa comprou uma coca e um marmitex que contem arroz, feijão e salada

ai o select só retorne a coca e o marmitex.

 

 

 

 

É isso que você quer?

 

Sim é isso mesmo, eu gostaria de um sql que listasse isso.

 

 

Qual seria o erro da query do post#3 ?

 

Sintaticamente nenhum, só não traz o retorno esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para isso você terá que criar uma tabela para armezenar produtos_marmitex e outra para armazenar produtos_normais

ou apenas adicionar um campo na tabela produto informando se ele faz parte de marmitex ou não;

 

Se você criar o campo você pode fazer assim:

 

SELECT IF(itemmarmitex = 'S', 'Marmitex', item_descricao) produto, sum(item_ValorUnitario) total FROM lan_funcionario
GROUP BY produto;

Compartilhar este post


Link para o post
Compartilhar em outros sites

bacana vou tentar isso. A principio coloquei em pratica a ideia de 2 selects, porem fica estranho, ja estava pensando em colocar esse campo pra saber se um produto faz parte do marmitex ou nao. Vou tentar colocar isso em pratica, e volto dar um feedback.



Cara, quase resolveu, o problema é desse jeito fica implicito que todos os itens que são marcados como marmitex, fazer parte da mesma marmitex, e não é isso que ocorre, por exemplo, em uma marmitex pode ter frango e outra ter carne.

O negócio só é complicado por causa da necessidade de tentar ter um controle de estoque também pra produtos que vão na marmitex, porque se não era só colocar a marmitex como um item e pronto.

 

Bom, mas valeu a ajuda. Vou marcar o tópico como resolvido, porque como o projeto está meio sem tempo, eu vou colocar 2 tabelas e usar dois selects pra exibir em uma os itens e na outra o marmitex.

 

Obrigado

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.