Volstrov 0 Denunciar post Postado Junho 25, 2013 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
Jorge Seiki Teruya 15 Denunciar post Postado Junho 27, 2013 Pode fazer as junções que quiser da forma que está. Faça um cenário hipotético com alguns dados nas tabelas e poste aqui para ficar mais fácil de te ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Volstrov 0 Denunciar post Postado Junho 27, 2013 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
Motta 645 Denunciar post Postado Junho 27, 2013 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
Volstrov 0 Denunciar post Postado Junho 27, 2013 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
Motta 645 Denunciar post Postado Junho 27, 2013 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
Volstrov 0 Denunciar post Postado Junho 28, 2013 Poderia me dizer como posso montar essa SQL? Compartilhar este post Link para o post Compartilhar em outros sites