1 duvida e algumas consultas [...]

3 respostas
d34d_d3v1l

Continuo no meu dilema e agradeço todos que me ajudaram... Então estou quase entendendo... Vamo lá...
Quero fazer mais ou menos assim

Tabela Mesa
Id_Mesa
Id_Ocupacao

Ocupacao
-Id_Ocupacao
-Id_Mesa
-Data
-Total
Lista-de-Produtos

Ai a Lista-de-Produtos tem que ser uma tabela auxiliar para armazenar os produtos consumidos na mesa, pela ocupação...

tipo... sou ruim em sql, me corrija por favor.. Quero fazer as seguintes consultas:

1 ) Supondo que eu quero saber o total que a mesa X vendeu na data
Y...

select ocupacao.total
from mesa,ocupacao
where  mesa.id = X AND ocupacao.DATA = Y;
Ai eu armazendo todas as entradas e vou somando.. exemplo
total = 0;

//while ainda tem proximo registro no banco
   total += pegueiDoBanco;
//

2 ) Supondo que eu quero o total vendido na data X em todas as mesas

select Ocupacao.total
from ocupacao
where ocupacao.Data = X;

3 ) Supondo que eu quero saber quantas ocupacoes tenha tido uma mesa no dia X

select * 
from ocupacao
where ocupacao.Data = X

ai eu faço:

quantidade = 0;

//Enquanto tiver registros
   quantidade++;

...Estou no caminho certo? Da para gerar todos esses relatórios usando essas consultas?
Quero fazer as mesmas consultas tipo:
Do dia X ao dia Y... ai é só usar o Between né ?

Abraços

3 Respostas

M

Eu faria desta forma

  • Mesa
    idMesa
    numero

  • Produto
    idProduto
    nome

MesaProduto
idMesa
idProduto
guantidade
data

1 ) Supondo que eu quero saber o total que a mesa X vendeu na data Y…

select m.Numero, p.nome, mp.Quantidade
from MesaProduto mp
inner join Mesa m ON (mp.idMesa = m.idMesa)
inner join Produto p ON (mp.idProduto = p.idProduto)
where mp.idMesa = X
and mp.Data = Y
order by m.numero asc, p.nome asc

este sql vai retornar uma lista com o número da mesa + o nome do produto utilizado + a quantidade utilizada na data escolhida

d34d_d3v1l

o que seria o mp.Quantidade ?

vix
nao entendi muito bem…

M

seria um campo da tabela MesaProduto, neste trecho do código eu falei que MesaProduto pode ser referenciado como “mp”

from MesaProduto mp
Criado 22 de fevereiro de 2011
Ultima resposta 25 de fev. de 2011
Respostas 3
Participantes 2