Fórum SQL - sub-consulta #41238
30/12/2003
0
agradeço desde já,
Marcos
Marcos Conceição
Curtir tópico
+ 0Posts
30/12/2003
Afarias
T+
Gostei + 0
30/12/2003
Marcos Conceição
*** Dados Fornecedor c/ total pedido de cada fornecedor ***
CREATE TABLE "COTACAOF"
(
"CODIGO" INTEGER NOT NULL,
"EMISSAO" DATE,
"DATA_BASE" DATE,
"FORNECEDOR" INTEGER NOT NULL,
"CONTATO" VARCHAR(35),
"TELE" VARCHAR(14),
"FAX" VARCHAR(14),
"CEL" VARCHAR(14),
"CONDPAGTO" VARCHAR(30),
"TOTAL" DOUBLE PRECISION,
"FRETE" DOUBLE PRECISION,
"OUTRASDESP" VARCHAR(30),
CONSTRAINT "PK_COTACAOF" PRIMARY KEY ("CODIGO")
); **** PRODUTOS DE COTACAO FORNECIDO PELO FORNECEDOR ***
CREATE TABLE "COTACAOP"
(
"CODIGO" INTEGER NOT NULL,
"NOMEPRODUTO" VARCHAR(50) NOT NULL,
"PRODUTO" INTEGER,
"QUANTIDADE" DOUBLE PRECISION,
"PRECO" DOUBLE PRECISION,
"OBSERVACAO" VARCHAR(30),
"TOTAL" COMPUTED BY (quantidade*preco),
CONSTRAINT "PK_COTACAOP" PRIMARY KEY ("CODIGO", "NOMEPRODUTO")
); A idéia é montar um select para retornar os produtos mais barato entre
todos os fornecedores. Tentei montar esse select mas está c/ erro.
select p.nomeproduto,f.fornecedor,p.preco from cotacaof f, cotacaop p, (select p.nomeproduto,min(p.preco) preco from cotacaop p group by p.nomeproduto) minprod where f.codigo=p.codigo and minprod.preco=p.preco order by nomeproduto
Erro dado foi na linha 2 col 1
Exemplo:
Nome produto fornecedor preco
ARROZ FORNECEDOR 1 9,30
ARROZ FORNECEDOR 2 8,90
FEIJAO FORNECEDOR 1 0,70
FEIJAO FORNECEDOR 3 0,72
FEIJAO FORNECEDOR 5 0,69
FARINHA FORNECEDOR 3 0,80
Resultado esperado é os produtos mais barato, conforme abaixo:
Arroz Fornecedor 2 8,90
Feijao Fornecedor 5 0,69
Farinha Fornecedor 3 0,80
Utilizo o Interbase 7.0, alguém pode me ajudar,
agradeço desde já,
Gostei + 0
30/12/2003
Afarias
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)