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

(Resolvido) INNER JOIN mesma tabela com campo igual mas seleç&#22


mulequim

Pergunta

Ola pessoal estou com o seguinte problema, entendam:

Tenho uma tabela com os seguintes campos:

tb1

saram (pk), nome, perfil(int), ramal, e senha.

tb2

cod (pk), saram, sramexecutor(fk), saramsolicitante(fk), datapedido, dataentrega, etc....

o campo saram é salvo duas vezes na outra tabela como quem executou o servico, ou como quem solicitou o serviço.

Eu montei um filtro que mostra a situação do equipamento e preciso retornar o solicitante e o executor.

Entenderam, se tiver que modificar a estrutura criar mais tabelas, podem falar.

Muito obrigado!

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

1 resposta a esta questão

Posts Recomendados

  • 0

Vamos lá pessoal, consegui resolver e vou dividir com vocês.

Utilizei duas consultas SQL, e o PHP salvador com ele fiz dois WHILES encadeados, sendo que o WHILE interno com o break; para ele parar a cada volta. vejam como ficou:

<?php
$sql = "SELECT * FROM sinfo_os m\r
INNER JOIN sinfo_us a ON m.os_SaramSol = a.us_Saram\r
ORDER BY m.os_Cod ASC";
$result = mysql_query($sql) or die (mysql_error());

$sqlExec = "SELECT * FROM sinfo_os m\r
INNER JOIN sinfo_us g ON m.os_SaramExe = g.us_Saram\r
ORDER BY m.os_Cod ASC";
$resultExec = mysql_query($sqlExec) or die (mysql_error());
//$numReg = mysql_num_rows($query);

while($row = mysql_fetch_array($result)){
switch ($row['os_Situacao']) {
case '1':
$sit = "Cadastrada";
$executor = "null";
break;
case '2':
$sit = "Aguardando";
$executor = $row['os_SaramExe'];
break;
case '3':
$sit = "Concluída";
$executor = $row['os_SaramExe'];
break;
}
?>


<tr>
<td><a href="osEditar.php?acao=<?php echo $row['os_SaramSol']; ?>&cod=<?php echo $row['os_Cod'];?>"><img src="../imgs/ic_editar.jpg" width="25" height="30"/></a></td>
<td><?php echo $row['os_Cod']; ?></td>
<td><?php echo $row['us_Nguerra']; ?></td>
<td><?php echo $row['os_Defeito']; ?></td>
<td><?php echo $row['os_Servico']; ?></td>
<td><?php echo $sit; ?></td>
<td><?php echo $row['os_DataPedido']; ?></td>
<td><?php echo $row['os_DataEntrega']; ?></td>
<td><?php echo $row['os_Tempo']; ?></td>
<?php
while($rowExec = mysql_fetch_array($resultExec)){ ?>
<td>
<?php echo $rowExec['us_Nguerra'];; ?>
</td>
<?php break; } ?>
</tr>
<?php }?>

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...