Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvidas


Guilherme014

Pergunta

Alguém saberia me dizer, como faço para vizualizar estes dados em uma listagem, ajuntando estas 4 tabelas....

$consulta = mysql_query("select * from pessoafisica, comunicacoes, enderecos, usuarios");

para quem quizer o meu código sql é esse ai.

/*

Created  31/8/2004

Modified  2/11/2004

Project  Loja do Hélio

Model  MySql

Company  LOPES

Author  Guilherme

Version  1.0

Database  mySQL 3.23

*/

Create table pessoafisica  (

cpf Varchar(20) NOT NULL ,

identidade Integer(4) NOT NULL ,

orgaoemissor Varchar(30) NOT NULL ,

nome Varchar(20) NOT NULL ,

email Char(100) NOT NULL ,

sexo Char(20) NOT NULL ,

dianasc Integer(2) NOT NULL ,

mesnasc Integer(2) NOT NULL ,

anonasc Integer(4) NOT NULL ,

dddtelefone Integer(3) NOT NULL ,

telefone1 Char(4) NOT NULL ,

telefone2 Char(4) NOT NULL ,

dddcelular Integer(3) NOT NULL ,

celular1 Char(4) NOT NULL ,

celular2 Char(4) NOT NULL ,

dddfax Integer(3) NOT NULL ,

fax1 Char(4) NOT NULL ,

fax2 Char(4) NOT NULL ,

estadocivil Char(20) NOT NULL ,

usuarioid Integer(11) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (cpf)

);

Create table produtoquemaisvenderam  (

produtoquemaiscomprouid Integer(4) NOT NULL ,

vendaid Integer(4) NOT NULL ,

data Datetime ,

Primary Key (produtoquemaiscomprouid)

);

Create table produtos  (

produtoid Integer(11) NOT NULL ,

diretorio Text ,

largura Text ,

altura Text ,

nomeproduto Text NOT NULL ,

conteudo Text NOT NULL ,

diacompra Integer(2) NOT NULL ,

mescompra Integer(2) NOT NULL ,

anocompra Integer(4) NOT NULL ,

precocompra Float(10,2) NOT NULL ,

precovenda Float(10,2) NOT NULL ,

prazoentrega Char(10) NOT NULL ,

estoque Integer(11) NOT NULL ,

ativar Tinyint(2) NOT NULL ,

promocao Tinyint(2) NOT NULL ,

desconto Float(10,2) NOT NULL ,

valornovo Float(10,2) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (produtoid)

);

Create table tipologradouros  (

tipologradouroid Integer(4) NOT NULL ,

sigla Char(3) NOT NULL ,

nome Varchar(50) NOT NULL ,

ativar Char(1) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (tipologradouroid)

);

Create table produtoquemenosvenderam  (

produtoquemenoscomprouid Char(20) NOT NULL ,

vendaid Integer(4) NOT NULL ,

data Datetime ,

Primary Key (produtoquemenoscomprouid)

);

Create table paises  (

paisid Integer(4) NOT NULL ,

nome Varchar(50) NOT NULL ,

sigla Char(3) NOT NULL ,

padrão Char(1) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (paisid)

);

Create table orcamentos  (

orcamentoid Integer(4) NOT NULL ,

data Datetime ,

usuarioid Integer(11) NOT NULL ,

Primary Key (orcamentoid)

);

Create table vendas  (

vendaid Integer(4) NOT NULL ,

usuarioid Integer(11) NOT NULL ,

quantidadeproduto Integer(11) NOT NULL ,

valorunitarioproduto Float(10,2) NOT NULL ,

valortotalproduto Float(20,2) NOT NULL ,

produtoid Integer(11) NOT NULL ,

valortotalcompra Float(20,2) NOT NULL ,

data Datetime ,

Primary Key (vendaid)

);

Create table estados  (

estadoid Integer(4) NOT NULL ,

sigla Varchar(2) NOT NULL ,

nome Varchar(40) NOT NULL ,

ativar Char(1) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (estadoid)

);

Create table bancos  (

codigobancoid Integer(11) NOT NULL ,

banco Integer(0) NOT NULL ,

nomebanco Varchar(50) NOT NULL ,

agencia Integer(4) NOT NULL ,

nomeagencia Varchar(40) NOT NULL ,

contacorrente Integer(4) NOT NULL ,

diaber Integer(11) NOT NULL ,

mesaber Integer(11) NOT NULL ,

anoaber Integer(4) NOT NULL ,

ativar Char(1) NOT NULL ,

date Datetime NOT NULL ,

Primary Key (codigobancoid)

);

Create table cartoes  (

codigoid Integer(11) NOT NULL ,

cartao Integer(11) NOT NULL ,

nomecartao Char(50) NOT NULL ,

numerocartao Integer(11) NOT NULL ,

datavencimento Varchar(10) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (codigoid)

);

Create table pagarmentos  (

pagamentoid Integer(11) NOT NULL ,

data Datetime NOT NULL ,

codigobancoid Integer(11) NOT NULL ,

codigoid Integer(11) NOT NULL ,

usuarioid Integer(11) NOT NULL ,

Primary Key (pagamentoid)

);

Create table cidades  (

cidadeid Integer(11) NOT NULL ,

nome Char(100) NOT NULL ,

sigla Char(3) NOT NULL ,

ativar Char(1) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (cidadeid)

);

Create table usuarios  (

usuarioid Integer(11) NOT NULL AUTO_INCREMENT,

login Char(15) NOT NULL ,

password Char(11) NOT NULL ,

ip Text NOT NULL ,

status Char(1) NOT NULL ,

podecomprar Char(1) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (usuarioid)

);

Create table pessoajuridica  (

cnpj Varchar(20) NOT NULL ,

nomefantazia Char(50) NOT NULL ,

razaosocial Char(20) NOT NULL ,

pessoaresponsavel Char(50) NOT NULL ,

ramalpessoaresponsavel_ Char(4) NOT NULL ,

emailpessoaresponsavel Char(100) NOT NULL ,

dddcelularpessoaresponsavel Char(3) NOT NULL ,

celular1pessoaresponsavel Char(4) NOT NULL ,

celular2pessoaresponsavel Char(4) NOT NULL ,

cargopessoaresponsavel Char(50) NOT NULL ,

dddtelefone Integer(3) NOT NULL ,

telefone1 Char(4) NOT NULL ,

telefone2 Char(4) NOT NULL ,

dddfax Integer(3) NOT NULL ,

fax1 Char(4) NOT NULL ,

fax2 Char(4) NOT NULL ,

usuarioid Integer(11) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (cnpj)

);

Create table enderecos  (

enderecoid Integer(11) NOT NULL AUTO_INCREMENT,

tipologradouroid Integer(4) NOT NULL ,

logradouro Char(50) NOT NULL ,

numero Integer(11) ,

complemento Char(30) ,

bairro Char(30) NOT NULL ,

cidadeid Integer(11) NOT NULL ,

estadoid Integer(4) NOT NULL ,

cep1 Char(5) NOT NULL ,

cep2 Char(3) NOT NULL ,

paisid Integer(4) NOT NULL ,

usuarioid Integer(11) NOT NULL ,

data Datetime NOT NULL ,

Primary Key (enderecoid)

);

Create table comunicacoes  (

comunicacaoid Integer(11) NOT NULL ,

empresa Char(50) NOT NULL ,

cargo Char(50) NOT NULL ,

http Char(100) ,

fax Char(14) ,

comoconheci Integer(1) ,

computador Integer(1) NOT NULL ,

bandalarga Integer(1) ,

comprasnet Integer(1) ,

receber Char(3) ,

usuarioid Integer(11) NOT NULL ,

data Datetime ,

Primary Key (comunicacaoid)

);

Create UNIQUE Index cpf  ON pessoafisica (cpf);

Create UNIQUE Index produtoquemaiscomprouid  ON produtoquemaisvenderam (produtoquemaiscomprouid);

Create UNIQUE Index produtoid  ON produtos (produtoid);

Create UNIQUE Index tipologradouroid  ON tipologradouros (tipologradouroid);

Create UNIQUE Index produtoquemenoscomprouid  ON produtoquemenosvenderam (produtoquemenoscomprouid);

Create UNIQUE Index paisid  ON paises (paisid);

Create UNIQUE Index orcamentoid  ON orcamentos (orcamentoid);

Create UNIQUE Index vendaid  ON vendas (vendaid);

Create UNIQUE Index estadoid  ON estados (estadoid);

Create UNIQUE Index codigoid  ON cartoes (codigoid);

Create UNIQUE Index pagamentoid  ON pagarmentos (pagamentoid);

Create UNIQUE Index cidadeid  ON cidades (cidadeid);

Create UNIQUE Index usuarioid  ON usuarios (usuarioid);

Create UNIQUE Index cpf2  ON pessoajuridica (cnpj);

Create Index enderecoid  ON enderecos (enderecoid);

Create Index comunicacaoid  ON comunicacoes (comunicacaoid);

/* Users permissions */

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

alguém poderia me ajudar, ou o codigo é este mesmo

$consulta = mysql_query("select comunicacoes.comunicacaoid, comunicacoes.empresa, comunicacoes.cargo, comunicacoes.http, comunicacoes.comoconheci, comunicacoes.computador, comunicacoes.bandalarga, comunicacoes.comprasnet, comunicacoes.receber, comunicacoes.usuarioid,

enderecos.enderecoid, enderecos.numero, enderecos.complemento, enderecos.bairro, enderecos.cidadeid, enderecos.estadoid, enderecos.cep1, enderecos.cep2, enderecos.paisid,

enderecos.usuarioid, usuarios.usuarioid, usuarios.login, usuarios.status, usuarios.podecomprar,

pessoafisica.cpf, pessoafisica.identidade, pessoafisica.nome, pessoafisica.email, pessoafisica.sexo, pessoafisica.mesnasc, pessoafisica.anonasc, pessoafisica.dddtelefone, pessoafisica.telefone1, pessoafisica.telefone2, pessoafisica.dddcelular, pessoafisica.celular1, pessoafisica.celular2, pessoafisica.dddfax, pessoafisica.fax1, pessoafisica.fax2, pessoafisica.estadocivil, pessoafisica.usuarioid from pessoafisica, comunicacoes, enderecos, usuarios where comunicacoes.usuarioid=enderecos.usuarioid=pessoafisica.usuarioid=usuarios.usuarioid");

tó achando ele bem grande, é isso mesmo, pelo menos deu certo !!!

Link para o comentário
Compartilhar em outros sites

  • 0

Guilherme, eu de novo cara...hehehe...

Um conselho, dê uma olhada em como é a estrutura de um select composto por duas ou mais tabelas. Tente procurar por "join", porque se eu fizer o select pra ti quando você precisar de novo você não vai saber.

Vou te dar umas dicas...

SELECT {nome dos campos q você quiser}

FROM {Tabela que você quer}

INNER JOIN {tabela q você quer ligar} ON {ligar os ids das tabelas}

WHERE {condição}

Ex: Nesse exemplo vou usar "alias" q é um "apelido" q se dá para o nome da tabela pra não ficar muito extenso o select.

SELECT usu.nome, cid.nome

FROM usuarios as usu

INNER JOIN cidades as cid ON cid.idCidade = usu.idCidade;

WHERE cid.idCidade = 1;

Se você tivesse mais de uma ligação pra fazer você usaria varias linhas de INNER JOIN. No teu caso você vai precisar de mais de um join pois são 4 ligações não é??...

Qualquer coisa posta ae se tu não conseguir...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0
Guilherme, eu de novo cara...hehehe...

Um conselho, dê uma olhada em como é a estrutura de um select composto por duas ou mais tabelas. Tente procurar por "join", porque se eu fizer o select pra ti quando você precisar de novo você não vai saber.

Vou te dar umas dicas...

SELECT {nome dos campos q você quiser}

FROM {Tabela que você quer}

INNER JOIN {tabela q você quer ligar} ON {ligar os ids das tabelas}

WHERE {condição}

Ex: Nesse exemplo vou usar "alias" q é um "apelido" q se dá para o nome da tabela pra não ficar muito extenso o select.

SELECT usu.nome, cid.nome

FROM usuarios as usu

INNER JOIN cidades as cid ON cid.idCidade = usu.idCidade;

WHERE cid.idCidade = 1;

Se você tivesse mais de uma ligação pra fazer você usaria varias linhas de INNER JOIN. No teu caso você vai precisar de mais de um join pois são 4 ligações não é??...

Qualquer coisa posta ae se tu não conseguir...

Abraço

Crystian

valeu mesmo !!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guilherme, eu de novo cara...hehehe...

Um conselho, dê uma olhada em como é a estrutura de um select composto por duas ou mais tabelas. Tente procurar por "join", porque se eu fizer o select pra ti quando você precisar de novo você não vai saber.

Vou te dar umas dicas...

SELECT {nome dos campos q você quiser}

FROM {Tabela que você quer}

INNER JOIN {tabela q você quer ligar} ON {ligar os ids das tabelas}

WHERE {condição}

Ex: Nesse exemplo vou usar "alias" q é um "apelido" q se dá para o nome da tabela pra não ficar muito extenso o select.

SELECT usu.nome, cid.nome

FROM usuarios as usu

INNER JOIN cidades as cid ON cid.idCidade = usu.idCidade;

WHERE cid.idCidade = 1;

Se você tivesse mais de uma ligação pra fazer você usaria varias linhas de INNER JOIN. No teu caso você vai precisar de mais de um join pois são 4 ligações não é??...

Qualquer coisa posta ae se tu não conseguir...

Abraço

Crystian

neste caso de colocar as tabelas tipo pessoafisica pf,

so que no delphi, e aqui tem que colocar o as, eu não sabia

mas o resto valeu mesmo

Link para o comentário
Compartilhar em outros sites

  • 0
é na verdade o "as" (teoricamente) não é necessário pelo menos nos bancos q já programei. No MySQL acredito q seja opcional...

Abraço

Crystian

na verdade com o as funcionou, veja como ficou

$consulta = mysql_query("select co.comunicacaoid, co.empresa, co.cargo, co.http, co.comoconheci, co.computador, co.bandalarga, co.comprasnet, co.receber, co.usuarioid,

en.enderecoid, en.numero, en.complemento, en.bairro, en.cidadeid, en.estadoid, en.cep1, en.cep2, en.paisid,

en.usuarioid,

usu.usuarioid, usu.login, usu.status, usu.podecomprar,

pj.cnpj, pj.nomefantazia, pj.razaosocial, pj.ramalpessoaresponsavel_, pj.emailpessoaresponsavel, pj.dddcelularpessoaresponsavel, pj.celular1pessoaresponsavel, pj.celular2pessoaresponsavel, pj.cargopessoaresponsavel, pj.dddtelefone, pj.telefone1, pj.telefone2, pj.dddfax, pj.fax1, pj.fax2, pj.usuarioid

from pessoajuridica, comunicacoes, enderecos, usuarios

INNER JOIN pessoajuridica as pj ON pj.usuarioid=usu.usuarioid

INNER JOIN comunicacoes as co ON co.usuarioid=usu.usuarioid

INNER JOIN enderecos as en ON en.usuarioid=usu.usuarioid

INNER JOIN usuarios as usu ON usu.usuarioid=usu.usuarioid

where usu.usuarioid");

Link para o comentário
Compartilhar em outros sites

  • 0

é eu vi tem uma relação sim com o usuarioid

e desse jeito que você fez ta certo também

só que pra não confundir eu uso a sigla fk_usuario chave estrangeira que indica para o id_usuario

Editado por fabyo
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...