Boa noite Pessoal.
Estou com o seguinte problema. Tenho duas tabelas principais "tblProjeto" e "tblItensProjeto", tenho que selecionar o projeto (tblProjeto) cujo o item 19 (tblItensProjeto) já esteja concluído (status 5) e que o item 15 (tblItensProjeto) não esteja concluído (status 5) e nem cancelado (status 4).
Tenho o seguinte código:
SELECT p.nmProjeto, l.nmLocalidade, f.usuario, r.nmRequisitante, p.dtSolicitacao,p.dtPrevisaoEntrega, s.nmStatus
FROM tblProjeto as p
inner join tblItensProjeto as i on i.idProjeto = p.idProjeto
inner join tblLocalidade as l on l.idLocalidade = p.idLocalidade
inner join tblFuncionario as f on f.idFuncionario = p.idFuncionario
inner join tblRequisitante as r on r.idRequisitante = p.idRequisitante
inner join tblStatusProj as s on s.idStatus = i.idStatus
where (i.idAtividade = 19 and i.idStatus= 5 ) and (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4))
Se executo um filtro de cada vez (where i.idAtividade = 19 and i.idStatus= 5 ) ou (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4)) eles trazem resultados, mas quando deixo os dois filtros não funciona.
Possuo 5 projetos que estão com a atividade 19 concluída e atividade 15 pendente. mas, não consigo com esse select trazer a informação. Alguém sabe como posso resolver?
É possível fazer um select join dentro de um case, segue o que preciso:
select m.ArquivoOrdemMov,m.ContadorAgenteMov,m.DataMov,m.SeqOrdemMov,m.SeqProduto,m.SaldoTotalMov,p.DescricaoProduto
--,case when m.ArquivoOrdemMov='OC'then 'Preço'
/*dentro do then preciso pegar o preço ->select ci.CustoOCItem from OCItem ci join OC c on c.SeqOC=ci.SeqOC*/
--else 'Sem valor'end
from Mov m
join MovFisica f on m.SeqMovFisica=f.SeqMovFisica
join OC c on m.ContadorAgenteMov=c.ContadorAgenteOC
join Produto p on m.SeqProduto=p.SeqProduto
where m.ArquivoOrdemMov='OC' and c.SituacaoOC='FECHADA'
Tenho uma consulta entre várias tabelas, e 2 das clausulas é soma.
Essa funciona
SUM(t3.valor_servico*t3.quantidade)...
Com essa junta não.
SUM(CASE WHEN tab1.codigo = tab2.codigo THEN tab2.valor END) AS valor_pago
Tentei fazer igual a de cima mas não rolou, então li a respeito do CASE, e tentei isso acima.
Ocorre que o sistema tem opção de efetuar vários pagamentos em datas diferentes até que o valor total seja quitado.
No caso, tenho uma tabela para armazenar o valor pago(valor), quem pagou (codigo) entre outras coisas, denominada como tab2 e a tab1 com outras informações, e o codigo.
Não sei se é possível, mas estou precisando que esses 2 SUM estejam na mesma consulta porque fiz a condição acima sozinha para teste e funciona, então não faço ideia do que ocorre.
o sql inteiro é esse, e preciso somar a quantidade paga de cada ticket.
$sql = mysqli_query($conexao, "SELECT *, SUM(st.valor_servico*st.quantidade) AS soma_servico FROM ticket t JOIN clientes c ON t.id_cliente = c.id_cliente JOIN servico_ticket st ON t.id_ticket = st.id_ticket JOIN status sts ON sts.id_status = t.status JOIN usuarios us ON us.id_user = t.atendente JOIN pagamento_ticket pgt WHERE t.id_loja ".$condLoja." AND ".$acao_status." GROUP BY t.id_ticket")or die (mysqli_error());
Obrigado.
Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0, mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0
SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';