Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou precisando de uma ajuda...
Tenho duas tabelas
ministros
entradas
Preciso exibir a lista dos ministros que não contam no relatório gerado em entradas.
Fiz assim a combinação.
$sql = "SELECT ministro.id, ministro.area, entrada.beneficiario, entrada.id_benificiario, entrada.id_benificiario, entrada.tipo_lancamento FROM ministro
INNER JOIN entrada
ON ministro.id = entrada.id_benificiario
WHERE ministro.area = entrada.area_beneficiario AND ministro.nome = entrada.beneficiario AND entrada.id_benificiario='[{$id_exer}' AND entrada.tipo_lancamento='ministro' ";
$stm = $conexao->prepare($sql);
$stm->execute();
$clientes = $stm->fetchAll(PDO::FETCH_OBJ);
Fiz as combinações direitinho mais não consigui exbir os que estão na tabela ministro e não estão na tabela entrada.Acredito que o erro esteja nesta parte do seu código
entrada.id_benificiario='[{$id_exer}'
[{$id_exer} retire esse colchetes [
Não era, continua trazendo todos os resultados, eu modifiquei, fiz assim agora.
$sql = "SELECT ministro.id, ministro.area, ministro.nome, entrada.exercicio_id, entrada.id_benificiario
FROM ministro AS ministro
LEFT JOIN entrada AS entrada
ON entrada.id_benificiario = ministro.id
WHERE entrada.exercicio_id = '{$id_exer}' ";
$stm = $conexao->prepare($sql);
$stm->execute();
Porem ele trás todos os cadastroConsegui desta forma!
SELECT id, nome, area
FROM ministro
WHERE NOT EXISTS (
SELECT exercicio_id, id_benificiario, area_beneficiario
FROM entrada
WHERE entrada.exercicio_id = '{$id_exer}' AND ministro.id = entrada.id_benificiario AND ministro.area = entrada.area_beneficiario )";
Deu certo agora!
Fiz assim também, porém não me retorna nada.
$sql = "SELECT ministro.id, ministro.area, ministro.nome, entrada.exercicio_id, entrada.id_benificiario FROM ministro
AS ministro
LEFT JOIN entrada AS entrada
ON entrada.id_benificiario = ministro.id