Ir para conteúdo

POWERED BY:

Arquivado

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

Hykaro Curcioli

Comparar dados duas tabelas MySQL

Recommended Posts

Fala galera do iMasters...

 

Bom é o seguinte... Tenho duas tabelas uma chama comandas_cadastradas e a outra comanda_conferidas.

 

comandas_cadastradas > numero e data de cadastro
comandas_conferidas > numero e data de conferimento

 

Preciso fazer o seguinte. Pegar as comadas cadastradas e verificar se elas foram conferidas. Se ela foi conferida ele passa direto, se não foi conferida ele exibe o numero da comanda.

 

Já tenho isso aqui para fazer a pesquisa, só nao sei como comparar.

 

$sql_comandas_cadastradas = "SELECT * FROM comandas ORDER BY numero";
$resultado_comandas_cadastradas = mysql_query($sql_comandas_cadastradas);
$row = mysql_fetch_array($resultado_comandas_cadastradas);

$sql_comandas_conferidas = "SELECT * FROM conferencia_tarde WHERE data='$data'";
$resultado_comandas_conferidas = mysql_query($sql_comandas_conferidas);
$row_conferidas = mysql_fetch_array($resultado_comandas_conferidas);

Se alguem puder dar uma mão fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Soluções :

 

1 Usar um OUTER JOIN testando a segunda chave se está nula

 

2 Usar um NOT EXISTS ou NOT IN

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai pessoal cheguei a isso

$sql = "SELECT `comandas`.*, `conferencia_manha`.`numero` AS conf FROM `comandas` INNER JOIN `conferencia_manha` ON `comandas`.`numero` = `conferencia_manha`.`numero` ORDER BY `comandas`.`numero` ASC";

tá fazendo a pesquisa certo, mais tá exibindo somente as que ta batendo com a outra tabela. o que preciso é tipo assim.

 

Tabela Comanda --------- Tabela Conferencia
1 estiver 1 = Conferida
2 diferente 2 = Nao conferida

 

 

Não sei mais o que fazer, já li um monte de artigo e tutorial e nao acho como fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com LEFT JOIN e verifique se o codigo da tabela secundária está nulo

SELECT `comandas`.*, 
`conferencia_manha`.`numero` AS conf 
FROM `comandas` 
LEFT JOIN `conferencia_manha` ON `comandas`.`numero` = `conferencia_manha`.`numero`
WHERE `conferencia_manha`.`numero` IS NULL
ORDER BY `comandas`.`numero` ASC

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.