Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Volstrov

Comparar 2 campos entre 2 usuários ...

Recommended Posts

Boa noite pessoal

 

Estou preso em uma lógica MySQL e gostaria da ajuda do pessoal por gentileza para essa situação:

 

Uso essas 4 tabelas:

 

Tabela Usuarios

- usuarios_id

- usuarios_nome

 

Tabela Foto

- foto_id

- foto_descricao

 

Tabela Quero

- quero_id

- usuarios_id

- foto_id

 

Tabela Tenho

- tenho_id

- tenho_descricao

- tenho-quantidade

- usuarios_id

- foto_id

 

Nas tabelas Quero e Tenho, tenho os campos de id idênticos das tabelas Usuários e Foto

 

As tabelas Usuarios e Foto já estão com dados

 

Dessa forma, quero então unir os dados da tabela Usuarios + Foto na tabela Tenho e ao mesmo tempo acrescentar novos dados nos demais campos dessa mesma tabela Tenho ( tenho_descricao e tenho_quantidade)

 

Queria saber também se por exemplo, tenho 2 ids de usuarios diferentes na tabela Tenho, e trocar seus dados, por exemplo, os dados de usuario_id 1 vão para usuario_id 2 e vice-versa, utilizando os mesmos campos, claro.

 

Queria saber também se posso comparar 2 campos de cada id para então comparar por exemplo, 2 campos do id 1 com os 2 mesmos campos de id 2

 

Fico grato se alguém puder me ajudar :-)

 

Obrigado

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Jorge

 

Obrigado por querer me ajudar :-)

 

Para falar a verdade me expressei totalmente errado no primeiro post, então pensei bem e agora vou conseguir elaborar bem melhor o cenário e o que quero.

 

Cenário:

 

Terei 4 tabelas, sendo elas:

 

Tabela Pessoa // Tabela com o Cadastro de pessoas

pessoa_id

pessoa_nome

pessoa_foto

 

 

Tabela Produto // Tabela com o cadastro de Produtos

produto_id

produto_nome

produto_foto

 

 

// Essa Tabela abaixo, Tenho, pega o id da pessoa na tabela Pessoa, pega o id do produto na Tabela Produto e ainda adiciona uma descricao pessoal em um produto que a pessoa já tem:

Tabela Tenho
tenho_id

tenho_descricao

pesssoa_id

produto_id

 

 

 

// Essa tabela abaixo, Desejo, pega o id da pessoa na Tabela Pessoa e o id do produto na Tabela Produto para indicar um produto que a pessoa deseja ter

 

Tabela Desejo

desejo_id

pessoa_id

produto_id

 

 

Ai temos a seguinte situação:

 

PESSOA - A

 

Tabela Pessoa

pessoa_id = 1

 

Tabela Produto

produto_id = 1

produto_id =2

 

Tabela Tenho

tenho_id = 1 // Não importa qual o número aqui, pois é automático

pessoa_id = 1

produto_id = 1

 

Tabela Desejo

desejo_id = 1 // Não importa qual o número aqui, pois é automático

pessoa_id = 1

produto_id = 2

 

 

PESSOA - B

 

Tabela Pessoa

pessoa_id = 2

 

Tabela Produto

produto_id = 1

produto_id =2

 

Tabela Tenho

tenho_id = 2 // Não importa qual o número aqui, pois é automático

pessoa_id = 2

produto_id = 2

 

Tabela Desejo

desejo_id = 2 // Não importa qual o número aqui, pois é automático

pessoa_id = 2

produto_id = 1

 

Então o que quero é o seguinte:

 

Pegar o Produto da tabela DESEJO da PESSOA - A e comparar com o produto da tabela TENHO DA PESSOA - B e ao mesmo tempo

Pegar o Produto da tabela TENHO DA PESSOA - A e comparar com o produto da tabela DESEJO DA PESSOA - B

 

Por exemplo:

 

Se eu desejo um produto A e você tem esse produto A e se você deseja um produto B e eu tenho esse produto B, então vamos trocar! Eu fico com o seu produto A e você com o meu produto B

 

Queria saber principalmente como faço a Consulta MySQL e como depois faço essa condição, se preciso usar um IF ou se só a consulta MySQL será suficiente.

 

Elaborei o mais detalhado que pude e usei cores para diferenciar as tabelas

 

Pessoa A é igual a ID = 1 e Pessoa B é igual a ID = 2, dois registros diferentes usando as mesmas tabelas em comum

 

Se tiver algo mais em que possa esclarecer, por favor me fale

 

Fico muito grato por estudar esse meu problema e ficaria muito grato com uma possível solução

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é pode haver duas pessoas ofertando (joão e maria) e três procurando (huguinho, zezinho e luizinho, talvez fosse melhor separar a buscas.

 

Uma busca única seria possível mas no caso que citei geraria um cartesiano de 6 ocorrências

 

joao huguinho
joao zezinho
joao luizinho
maria huguinho
maria zezinho
maria luizinho

Talvez fique melhor gerar uma busca em ofertantes para os buscantes e vice-versa

Compartilhar este post


Link para o post
Compartilhar em outros sites

A questão é pode haver duas pessoas ofertando (joão e maria) e três procurando (huguinho, zezinho e luizinho, talvez fosse melhor separar a buscas.

 

Uma busca única seria possível mas no caso que citei geraria um cartesiano de 6 ocorrências

 

joao huguinho
joao zezinho
joao luizinho
maria huguinho
maria zezinho
maria luizinho

Talvez fique melhor gerar uma busca em ofertantes para os buscantes e vice-versa

 

Oi Motta, obrigado por se dispor a ajudar :-)

 

Pelo que entendi, então é melhor fazer um SELECT em Ofertantes ( Eu Tenho ) e outro SELECT em Buscantes ( Eu Quero ), é isso!?

 

Se sim, só uma junção, INNER JOIN, por exemplo: Tenho t Quero q vai ser suficiente ou será necessário outro recurso MySQL ou condição IF?

 

Desde já agradeço muito a disposição em ajudar :-)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez em alguns casos (fechamento de compra por exemplo) instanciar duas vezes a tabela Pessoa.

 

Não me ocorre um motivo para iif ou case.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.