Assim por diante.
A consuilta tem que me retornar os ids dos produtos, a somatória dos preços dos produtos e uma vez o numero id do fornecedor.
Isso é claro, de cada fornecedor.
Tem como fazer uma consulta sql que retorne isso?
A idéia é retrornar os dados da seguinte forma:
Ta aqui a estrutura das tabelas : Estou usando php
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
CREATE TABLE admin (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
nome varchar(200) NOT NULL DEFAULT '',
Usuario varchar(35) NOT NULL DEFAULT '',
Senha varchar(35) NOT NULL DEFAULT '',
bloqueio char(1) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
CREATE TABLE cidades (
id int(5) NOT NULL DEFAULT '0',
estado char(2) NOT NULL DEFAULT '',
nome varchar(200) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE contato (
Id int(4) unsigned NOT NULL AUTO_INCREMENT,
IdFornecedor int(4) NOT NULL DEFAULT '0',
Email varchar(100) NOT NULL DEFAULT '',
Titulo varchar(100) NOT NULL DEFAULT '',
Texto text NOT NULL,
PRIMARY KEY (Id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE fornecedores (
id int(4) unsigned NOT NULL AUTO_INCREMENT,
nome varchar(200) NOT NULL DEFAULT '',
responsavel varchar(200) NOT NULL DEFAULT '',
cpf varchar(11) NOT NULL DEFAULT '0',
endereco varchar(200) NOT NULL DEFAULT '',
numero varchar(20) NOT NULL DEFAULT '0',
bairro varchar(100) NOT NULL DEFAULT '',
estado char(2) NOT NULL DEFAULT '0',
cidade int(6) NOT NULL DEFAULT '0',
tel varchar(10) NOT NULL DEFAULT '0',
cel varchar(10) DEFAULT '0',
usuario varchar(6) NOT NULL DEFAULT '',
senha varchar(6) NOT NULL DEFAULT '',
data date NOT NULL DEFAULT '0000-00-00',
bloqueio char(1) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
CREATE TABLE produtopreco (
id int(5) unsigned NOT NULL AUTO_INCREMENT,
idProduto int(4) NOT NULL,
idFornecedor int(4) NOT NULL,
preço varchar(15) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
CREATE TABLE produtos (
id int(5) unsigned NOT NULL AUTO_INCREMENT,
nome varchar(150) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
Estou usando a seguinte sql mas essa só me retorna apenas o primeiro produto cadastrado na tabela.
select
distinct(pp.idFornecedor),
f.nome,
sum(pp.preço)
from produtopreco pp
inner join fornecedores f on f.id=pp.idFornecedor
where
$produtoid
group by
pp.idFornecedor
order by
sum(pp.preço)
Pergunta
Carlos Rocha
Bom dia!
Como eu faria uma consulta sql que me retornasse, por exemplo,
Tenho 3 tabelas
fornecedores
produtos
produtopreco
Nessa última, o fornecedor loga no site e escolhe varios produtos e cadastra o preço que ele da ao produito.
tipo assim é gravado na tabela produtopreco:
Assim por diante. A consuilta tem que me retornar os ids dos produtos, a somatória dos preços dos produtos e uma vez o numero id do fornecedor. Isso é claro, de cada fornecedor. Tem como fazer uma consulta sql que retorne isso? A idéia é retrornar os dados da seguinte forma: Ta aqui a estrutura das tabelas : Estou usando php Estou usando a seguinte sql mas essa só me retorna apenas o primeiro produto cadastrado na tabela. Editado por Carlos RochaLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.