AJUDA COM CRIAÇÃO DO CODIGO
ESTOU COM DUVIDA COMO FAZER CORRETAMENTE O CÓDIGO QUE DEVE MOSTRAR UM RELATÓRIO DOS PRODUTOS QUE SERÃO ENTREGUES AGRUPADOS POR CIDADE.
TB PRODUTO - COD_PRODUTO, NOME_PRODUTO, COD_FORNECEDOR.
TB CLIENTE - COD_CLIENTE, NOME_CLIENTE, CIDADE_CLIENE.
TB VENDA - VEN_CODIGO, VEN_QUANTIDADE, VEN_COD_PRODUTO, COD_CLIENTE
SELECT NOME_PRODUTO, UF_CLIENTE,
(SELECT SUM(VEN_QUANTIDADE) FROM VENDA WHERE VENDA.VEN_COD_PRODUTO = ENCOMENDAS.COD_PRODUTO)
As VENDA
FROM ENCOMENDAS, PRODUTO;
TA SAINDO REPETIDO VARIAS VEZES O ESTADO DO CLIENTE
TB PRODUTO - COD_PRODUTO, NOME_PRODUTO, COD_FORNECEDOR.
TB CLIENTE - COD_CLIENTE, NOME_CLIENTE, CIDADE_CLIENE.
TB VENDA - VEN_CODIGO, VEN_QUANTIDADE, VEN_COD_PRODUTO, COD_CLIENTE
SELECT NOME_PRODUTO, UF_CLIENTE,
(SELECT SUM(VEN_QUANTIDADE) FROM VENDA WHERE VENDA.VEN_COD_PRODUTO = ENCOMENDAS.COD_PRODUTO)
As VENDA
FROM ENCOMENDAS, PRODUTO;
TA SAINDO REPETIDO VARIAS VEZES O ESTADO DO CLIENTE
Francielle Oliveira
Curtidas 0
Respostas
Jefferson Santos
13/10/2013
Pode enviar as colunas das tabelas certinhas? Do nada apareceu coluna no select... tipo: UF_Cliente
GOSTEI 0
Alex Lekao
13/10/2013
Ola Francielle, boa tarde!!!
esperimenta colocar o group by no subselect e/ou no select principal.
Abraco.
Alex - Lekao
esperimenta colocar o group by no subselect e/ou no select principal.
Abraco.
Alex - Lekao
GOSTEI 0
Jefferson Santos
13/10/2013
Francielle,
Ira aparecer varias vezes a UF_Cliente pois um cliente pode fazer 1 ou mais encomendas o que faz com que altere o
VENDA.VEN_COD_PRODUTO = ENCOMENDAS.COD_PRODUTO
exemplo se eu fizer três compras vou ter três VEN_COD_PRODUTO
ou seja, vou aparecer 3 vezes no select
utilizando group by ou não.
Ira aparecer varias vezes a UF_Cliente pois um cliente pode fazer 1 ou mais encomendas o que faz com que altere o
VENDA.VEN_COD_PRODUTO = ENCOMENDAS.COD_PRODUTO
exemplo se eu fizer três compras vou ter três VEN_COD_PRODUTO
ou seja, vou aparecer 3 vezes no select
utilizando group by ou não.
GOSTEI 0
Francielle Oliveira
13/10/2013
ta saindo assim:
NOME_PRODUTO COD_CLIENTE NOME_CLIENTE VEN_QUANTIDADE
---------------------- ------------------ ----------------------- -----------------------
Caneta 44 VERA
Caderno 44 VERA 3
Borracha 44 VERA
Caneta 61 LEANDRO
Caderno 61 LEANDRO 3
Borracha 61 LEANDRO
Caneta 41 FRAN
Caderno 41 FRAN 3
Borracha 41 FRAN
NOME_PRODUTO COD_CLIENTE NOME_CLIENTE VEN_QUANTIDADE
---------------------- ------------------ ----------------------- -----------------------
Caneta 44 VERA
Caderno 44 VERA 3
Borracha 44 VERA
Caneta 61 LEANDRO
Caderno 61 LEANDRO 3
Borracha 61 LEANDRO
Caneta 41 FRAN
Caderno 41 FRAN 3
Borracha 41 FRAN
GOSTEI 0
Jefferson Santos
13/10/2013
Adicione uma condição onde where VEN_QUANTIDADE is not null
Para que não traga VEN_QUANTIDADE não seja Nulo.
Me diga se isso ajudou.
Para que não traga VEN_QUANTIDADE não seja Nulo.
Me diga se isso ajudou.
GOSTEI 0
Alex Lekao
13/10/2013
Oi Francielle,
tente esse codigo se ajuda.
nao sei bem se eh isso que ta querendo nem se vai funcionar, sem a estrutura da tabela e sem alguns dados para testar fica um pouco dificil.
Espero que ajude.
Abraco.
Alex - Lekao
tente esse codigo se ajuda.
SELECT C.UF, C.CIDADE, E.NOME_PRODUTO, SUM(E.VEN_QUANTIDADE) AS QTD FROM ENCONMENDAS AS E LEFT JOIN CLIENTE AS C ON C.CODCLI = V.CODCLI LEFT JOIN PRODUTO AS P ON P.COD_PRODUTO = E.COD_PRODUTO GROUP BY C.UF,C.CIDADE,E.NOME_PRODUTO
nao sei bem se eh isso que ta querendo nem se vai funcionar, sem a estrutura da tabela e sem alguns dados para testar fica um pouco dificil.
Espero que ajude.
Abraco.
Alex - Lekao
GOSTEI 0
Jefferson Santos
13/10/2013
Ta muito difícil ajudar sem a estrutura certa da tabela.
A maioria dos post's informam algumas colunas e quando mostram montando o código
surgem varias colunas não mencionadas na estrutura das tabelas.
A maioria dos post's informam algumas colunas e quando mostram montando o código
surgem varias colunas não mencionadas na estrutura das tabelas.
GOSTEI 0
Alex Lekao
13/10/2013
complicado... rsrsr
GOSTEI 0
Francielle Oliveira
13/10/2013
Ta ai as tabelas que estou usando..
CREATE TABLE CLIENTE
(COD_CLIENTE NUMBER(4) CONSTRAINT PK_CLIENTE PRIMARY KEY,
NOME_CLIENTE VARCHAR2(30) NOT NULL,
UF_CLIENTE VARCHAR2(2) NOT NULL,
CIDADE_CLIENTE VARCHAR2(30) NOT NULL
);
CREATE TABLE PRODUTO
(COD_PRODUTO NUMBER(4) CONSTRAINT PK_PRODUTO PRIMARY KEY,
NOME_PRODUTO VARCHAR2(30) NOT NULL,
COD_FORNECEDOR NUMBER(4) REFERENCES FORNECEDOR(COD_FORNECEDOR)
);
CREATE TABLE VENDA
(VEN_CODIGO NUMBER CONSTRAINT PK_VENDA PRIMARY KEY,
VEN_COD_PRODUTO NUMBER(4) NULL REFERENCES PRODUTO(COD_PRODUTO),
COD_CLIENTE NUMBER(4) NOT NULL,
VEN_QUANTIDADE NUMBER(4) NOT NULL,
VEN_VALORTOTAL NUMBER(4) NOT NULL
);
CREATE TABLE CLIENTE
(COD_CLIENTE NUMBER(4) CONSTRAINT PK_CLIENTE PRIMARY KEY,
NOME_CLIENTE VARCHAR2(30) NOT NULL,
UF_CLIENTE VARCHAR2(2) NOT NULL,
CIDADE_CLIENTE VARCHAR2(30) NOT NULL
);
CREATE TABLE PRODUTO
(COD_PRODUTO NUMBER(4) CONSTRAINT PK_PRODUTO PRIMARY KEY,
NOME_PRODUTO VARCHAR2(30) NOT NULL,
COD_FORNECEDOR NUMBER(4) REFERENCES FORNECEDOR(COD_FORNECEDOR)
);
CREATE TABLE VENDA
(VEN_CODIGO NUMBER CONSTRAINT PK_VENDA PRIMARY KEY,
VEN_COD_PRODUTO NUMBER(4) NULL REFERENCES PRODUTO(COD_PRODUTO),
COD_CLIENTE NUMBER(4) NOT NULL,
VEN_QUANTIDADE NUMBER(4) NOT NULL,
VEN_VALORTOTAL NUMBER(4) NOT NULL
);
GOSTEI 0
Jefferson Santos
13/10/2013
Verifique se o Left Join acima resolve seu problema. Caso não tentarei te ajudar.
GOSTEI 0
Francielle Oliveira
13/10/2013
Conseguir Obrigado a todos.
GOSTEI 0
Deivison Melo
13/10/2013
É interessante que poste sua solução para ajudar pessoas que por ventura venha a compartilhar da mesma dúvida!
Abração e bons códigos!!
Abração e bons códigos!!
GOSTEI 0