Ir para conteúdo

Arquivado

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

Gui Siani

Select com inner join não retorna dados esperados

Recommended Posts

Fala galera!

 

Tentei usar a pesquisa do forum, mas não encontrei nada e parece estar com algum problema ao pesquisar, pois as vezes carrega eternamente.

 

Enfim, eu estou tentando fazer um SELECT retornando uma informação baseado em dados de 2 tabelas, com um INNER JOIN. Segue:

 

exemplo de um dado da coluna PROFILE_IDS (123;432) separado por ponto e vírgula.

SELECT m.match_id, m.profile_ids FROM `match` AS m
INNER JOIN `profile` AS p ON m.profile_ids LIKE CONCAT('%',p.profile_id,'%')
WHERE m.match_date = '2014-11-12' AND p.gender = 'female' ORDER BY RAND() LIMIT 1

 

O que eu quero retornar?
Os dados da tabela MATCH onde o PROFILE seja do ---o feminino e esteja na coluna PROFILE_IDS da tabela MATCH, porém, está retornando qualquer MATCH, seja de ---O feminino quanto masculino.
Acho que ficou claro, né?

Atualizando: Testei executando o script direto do phpmyadmin e parece estar normal, mas na aplicação em PHP não!

Segue o código em PHP:
$matchs = $this->db->select("SELECT m.match_id, m.profile_ids FROM `match` AS m
	INNER JOIN `profile` AS p ON m.profile_ids LIKE CONCAT('%',p.profile_id,'%')
	WHERE m.match_date = '".$today."' AND p.gender = '".$vote_to."' ORDER BY RAND() LIMIT 1");

Compartilhar este post


Link para o post
Compartilhar em outros sites

então vc precisa ter certeza de q o php está executando a query correta:

 

$sql = "SELECT m.match_id, m.profile_ids FROM `match` AS m
	INNER JOIN `profile` AS p ON m.profile_ids LIKE CONCAT('%',p.profile_id,'%')
	WHERE m.match_date = '".$today."' AND p.gender = '".$vote_to."' ORDER BY RAND() LIMIT 1";
echo 'sql: ', $sql;
$matchs = $this->db->select($sql);
debugue com base no que retornar do echo

Compartilhar este post


Link para o post
Compartilhar em outros sites

executei o script gerado pelo PHP e rodou perfeito no phpmyadmin. Muito curioso, pq a partir do programa os dados retornam com pessoas de qualquer sexo, sendo que escolhi o sexo feminino apenas. Vou continuar fuçando aqui...


Oops.. faltou atenção minha. Tinha um script rodando logo abaixo pegando todos os dados de novo, independente do sexo. Pode colocar resolvido no post!

 

Erro de novato hahaha

 

Obrigado, William!

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.