Ir para conteúdo
Handrix

Erro ao executar INNER JOIN?

Recommended Posts

Bom dia pessoal do fórum!

Estou recebendo erro na minha função SQL, só que não estou percebendo o que está errado, se é algum erro de desatenção minha ou o que, pois executo outros INNERs da mesma forma.

Segue abaixo o código SQL e a função no PHP.

 

SELECT repcity.codigo codigo, rep.nome nome, repcity.telefone telefone, repcity.celular celular, repcity.telefone2 fax, repcity.endereco endereco, repcity.email email, city.nome cidade, est.nome uf, merc.nome mercado FROM tb_representantes rep INNER JOIN tb_representantes_cidades repcity ON rep.codigo = repcity.cidade INNER JOIN tb_cidades city ON repcity.codigo = city.nome INNER JOIN tb_estados est ON est.codigo = repcity.estado INNER JOIN tb_mercado merc ON merc.codigo = rep.mercado estados est INNER JOIN tb_representantes_cidades repcity ON est.codigo = repcity.nome ORDER BY est.uf

 

$parameters = get_parameters_url();
	$province = get_parameter_select('estado',$parameters[1]);
	if(empty($province)) $province = "all";
	
    $sql = "";
	$sql .= "estados est INNER JOIN tb_representantes_cidades repcity ON est.codigo = repcity.nome ORDER BY est.uf";
	if($province != 'all') 
      $sql = " WHERE est.uf='{$province}'";
	  $collum = "repcity.codigo codigo, rep.nome nome, repcity.telefone telefone,  repcity.celular celular, repcity.telefone2 fax, repcity.endereco endereco, repcity.email email, city.nome cidade, est.nome uf, merc.nome mercado ";
	  $lojas = newsql_inner("representantes rep INNER JOIN tb_representantes_cidades repcity ON rep.codigo = repcity.cidade INNER JOIN tb_cidades city ON repcity.codigo = city.nome INNER JOIN tb_estados est ON est.codigo = repcity.estado INNER JOIN tb_mercado merc ON merc.codigo = rep.mercado", $sql, $collum);
	  
      $provinces = newsql_inner('estados est INNER JOIN  tb_representantes_cidades repcity ON est.codigo = repcity.cidade',  'GROUP BY est.uf', 'est.codigo codigo, est.uf uf');

Se alguém puder estar dando uma explicada além de corrigir, ficarei muito grato pra mim poder entender mesmo o que está errado.

Obrigado pela compreensão desde já!

 

 

Att: Handrix

Compartilhar este post


Link para o post
Compartilhar em outros sites
44 minutos atrás, rockrgo disse:

Qual o erro?

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'estados est INNER JOIN tb_representantes_cidades repcity ON est.codigo = repcity' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
33 minutos atrás, rockrgo disse:

Isso não faz muito sentido


est.codigo = repcity.nome

 comparar um código de estado com um nome, o que é armazenado nestes dois campos são a mesma informação e mesmo tipo de dado?

A sim nem tinha me tocado, porém alterei o

est.codigo = repcity.nome

para

est.codigo = repcity.codigo

E permanece o mesmo erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Good
      Boa noite,
      não sei se estou na categoria correta.. por exemplo, eu estou buscando contratar um servidor de email que suporte envio de até 1milhão de emails por mês.
       
      Eu não tenho conhecimento, então gostaria de saber se alguém recomenda algum serviço.. que seja possível fazer integração com o meu sistema utilizando PHP.
       
      obrigado
    • Por kelvinferraz
      Boa noite pessoal!
       
      Estou com uma dúvida e não sei nem por onde começar, seguinte:
       
      Eu tenho um sistema simples em PHP cadastro de usuário e etc... Porém esse sitema gera relatorios de pessoas, gostaria de saber se é possível com base nos dados dos clientes cadastrados
      eu passar os parametros como nome, endereço, cidade, rg etc.. para dentro de sites do tipo:

      https://servicos.dpf.gov.br/antecedentes-criminais/certidao
       
      É possível automatizar isso e trazer junto aos meus relatorios ?

      Estou usando o DomPDF para gerar os relatorios trazido do banco fora outras informações que o próprio solicitante marca.
    • Por BTK
      Boa noite, estou tentando criar um curl que faz cadastro no site(o proprietário está ciente disso) porem ele está me retornando (HTTP/1.1 100 Continue HTTP/1.1 302 Moved Temporarily)

       $ch = curl_init();   
          
                                                                                                                     
          curl_setopt($ch, CURLOPT_URL, "https://www.cafefacil.com.br/customer/account/create/");                                     
          curl_setopt($ch, CURLOPT_HEADER, true);                                                                                                   
          curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');                                                                                                                                               
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);                                                                                         
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);                                                                                       
          curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);                                                                                       
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
          curl_setopt($ch, CURLOPT_COOKIESESSION, true);                                                                             
          curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd().'/cafefacil.txt');
          curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd().'/cafefacil.txt'); 
          
          
          
          
          $b1 = curl_exec($ch);
          
          $form_key = value($b1, 'type="hidden" name="form_key" value="', '"');
          
          curl_setopt($ch, CURLOPT_URL, 'https://www.cafefacil.com.br/customer/account/createpost/');                                     
          curl_setopt($ch, CURLOPT_HEADER, true);                                                                                                   
          curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');                                                                                                                                                  
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);                                                                                         
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);                                                                                    
          curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);                                                                                       
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
          curl_setopt($ch, CURLOPT_COOKIESESSION, true);   
          curl_setopt($ch, CURLOPT_REFERER, 'https://www.cafefacil.com.br/customer/account/create/');                                                                           
          curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd().'/cafefacil.txt');
          curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd().'/cafefacil.txt'); 
          curl_setopt($ch, CURLOPT_POST, 1);                                                                                                    
          $boundary = '---------------------------WebKitFormBoundaryRQ3KHJbpfmPf11v6';
          
          $data = '-----------------------------'.$boundary.'
          Content-Disposition: form-data; name="success_url"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="error_url"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="form_key"
          
          '.$form_key.'
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="tipopessoa"
          
          15
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="firstname"
          
          NomeTest SobreNomeTest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="nomefantasia"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="inscricaoestadual"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="email"
          
          nometestsobrenometest@gmail.com
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="day"
          
          01
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="month"
          
          01
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="year"
          
          1990
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="dob"
          
          01/01/1990
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="taxvat"
          
          199.758.750-50
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="celular"
          
          (11)4712-8491
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="password"
          
          senhatest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="confirmation"
          
          senhatest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="persistent_remember_me"
          
          on
          -----------------------------'.$boundary.'--';
          
          $header[] = "Content-Type: multipart/form-data; boundary=".$boundary;
          curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
          curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
          
            
          echo $exec = curl_exec($ch);
          curl_close($ch);
    • Por allencar.limma
      Tento incluir as informações de um formulário no banco de dados e não consigo. conforme código abaixo.
      <? /*Incluir as informações no formulario */ include "config.php"; $nome = trim($_POST['nome']); $masp = trim($_POST['masp']); $cpf = trim($_POST['cpf']); $telefone = trim($_POST['telefone']); $email = trim($_POST['email']); $endereco = trim($_POST['endereco']); $data_nascimento = trim($_POST['data_nascimento']); $unidade_lotacao = trim($_POST['unidade_lotacao']); /* Vamos checar algum erro nos campos */ if ((!$nome) || (!$masp) || (!$cpf) || (!$telefone) || (!$email) || (!$endereco) || (!$data_nascimento) || (!$unidade_lotacao)){ echo "ERRO: <br /><br />"; if (!$nome){ echo "Nome Completo é requerido.<br />"; } if (!$masp){ echo "Masp é requerido.<br />"; } if (!$cpf){ echo "CPF é requerido.<br /)>"; } if (!$telefone){ echo "Telefone é requerido.<br />"; } if (!$email){ echo "Email é requerido.<br />"; } if (!$endereco){ echo "Endereço é requerido.<br />"; } if (!$data_nascimento){ echo "Data de Nascimento é requerido.<br />"; } if (!$unidade_lotacao){ echo "Unidade de Lotação é requerido.<br>"; } echo "Preencha os campos abaixo: <br />"; include "formulario_cadastro.php"; }else { /* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */ $sql_email_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'" ); $sql_masp_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE masp='{$masp}'" ); $sql_cpf_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE cpf='{$cpf}'" ); $eReg = mysql_fetch_array($sql_email_check); $uReg = mysql_fetch_array($sql_masp_check); $uReg = mysql_fetch_array($sql_cpf_check); $email_check = $eReg[0]; $masp_check = $uReg[0]; $cpf_check = $uReg[0]; if (($email_check > 0) || ($masp_check > 0) || ($cpf_check > 0)){ echo "<strong>ERRO</strong>: <br /><br />"; if ($email_check > 0){ echo "Este email já está sendo utilizado.<br /><br />"; unset($email); } if ($masp_check > 0){ echo "Este Masp já está sendo utilizado.<br /><br />"; unset($masp); } if ($cpf_check > 0){ echo "Este CPF já está sendo utilizado.<br /><br />"; unset($cpf); } include "formulario_cadastro.php"; }else{ /* Se passarmos por esta verificação ilesos é hora de finalmente cadastrar os dados. Vamos utilizar uma função para gerar a senha de forma randômica*/ function makeRandomPassword(){ $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7){ $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $senha_randomica = makeRandomPassword(); $senha = md5($senha_randomica); // Inserindo os dados no banco de dados //$cpf = htmlspecialchars($cpf); ***RETIRADO PELO FATO DE NÃO ESTA SENDO USADO $sql = mysql_query( "INSERT INTO usuarios (none, masp, cpf, telefone, email, endereco, data_nascimento, unidade_lotacao) VALUES ('$nome', '$masp', '$cpf', '$telefone', '$email', '$endereco', '$data_nascimento', '$unidade_lotacao', now())") or die( mysql_error() ); if (!$sql){ echo "Ocorreu um erro ao criar sua conta, entre em contato."; }else{ $usuario_id = mysql_insert_id(); // Enviar um email ao usuário para confirmação e ativar o cadastro! $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: RCI - <rci@rcionline.com.br>"; $subject = "Confirmação de cadastro - www.rcionline.com.br"; $mensagem = "Prezado {$nome} {$masp},<br /> Obrigado pelo seu cadastro em nosso site, <a href='http://www.rcionline.com.br'> http://www.rcionline.com.br</a>!<br /> <br /> Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à áreas exclusivas, por favor clique no link abaixo ou copie e cole na barra de endereço do seu navegador.<br /> <br /> <a href='http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha}'> http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha} </a> <br /> <br /> Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo efetuado o login com os seguintes dados abaixo:<br > <br /> <strong>Usuario</strong>: {$usuario_id}<br /> <strong>Senha</strong>: {$senha_randomica}<br /> <br /> Obrigado!<br /> <br /> Webmaster<br /> <br /> <br /> Esta é uma mensagem automática, por favor não responda!"; mail($email, $subject, $mensagem, $headers); echo "Foi enviado para seu email - ( ".$email." ) um pedido de confirmação de cadastro, por favor verifique e sigas as instruções!"; } } } ?>  
    • Por fernanda_mon
      Boa tarde Pessoal,
      tenho uma tabela simples com os campos: data (data do cadastro), numero_parcelas ( números de parcelas de um financiamento) e valor_parcelas ( valor de cada parcela).
      Com isso preciso fazer uma sql que a partir da data atual, mostre para mim quais registros terminam o financiamento em no máximo 6 meses,
      usei a sql  abaixo  para determinar a data final e esta show, mas ainda não consegui fazer uma condição no "where" que determinasse o fim do financiamento nos proximos 6 meses
       
      SELECT V3.DATA AS “DATA-CADASTRO”, ADD_MONTHS(TRUNC(V3.DATA), v3.meses) DATA_FINAL FROM VENDA_FINANCIAMENTO V3  
      se alguem puder me ajudar eu agradeço.
       
×

Informação importante

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