GARANTIR DESCONTO

Fórum SQL - sub-consulta #41238

30/12/2003

0

Alguém tem alguns exemplos de como fazer sub-consulta no SQL?

agradeço desde já,

Marcos


Marcos Conceição

Marcos Conceição

Responder

Posts

30/12/2003

Afarias

Como assim?? pode explicar melhor o q deseja??


T+


Responder

Gostei + 0

30/12/2003

Marcos Conceição

Deu um erro.

*** 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á,


Responder

Gostei + 0

30/12/2003

Afarias

Ok, o IB não permite este tipo de select. Vc deve criar uma view para a sua ´sub-query´ e usar a view.


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar