Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Para mim está complicado até de explicar, mas vou tentar.
Tenho um tabela vales e outra tabela baixavales com vários registros que totalizam o valor do vale. Preciso fazer uma consulta sql que me retorna o registro da tabela vale que mesmo depois de encontrado e somado todos registros da tabela baixa vales, tenha ainda saldo. Conseguiram entender?
Abaixo o exemplo
Tabela: vales
---------------------------------------
| id_vale | id_func_vale | valor_vale |
---------------------------------------
| 1 | 1 | 400.00 |
| 2 | 2 | 300.00 |
| 3 | 2 | 100.00 |
---------------------------------------
Tabela: valesbaixa
------------------------------------------
| id_baixa | id_vale_baixa | valor_baixa |
------------------------------------------
| 1 | 1 | 200.00 |
| 2 | 1 | 100.00 |
| 3 | 2 | 300.00 |
| 4 | 3 | 50.00 |
------------------------------------------
Tabela: funcionarios
-----------------------
| id_func | nome_func |
-----------------------
| 1 | João |
| 2 | Paulo |
-----------------------
EU QUERO QUE A BUSCA ME RETORNE:
-----------------------------------------
|nome |id_vale| valor vale | saldo_vale |
-----------------------------------------
|João | 1 | 400.00 | 100.00 |
|Paulo| 3 | 100.00 | 50.00 |
-----------------------------------------
Entenderam? O vale de id=2 tinha o total de baixas igual ao valor dele, daí esse não é retornado, apenas os que tiverem saldo à baixar.
Tentei fazer select com subqueries assim:
SELECT id_vale, id_func_vale, SUM(valor_vale) AS saldo_vales FROM vales WHERE SUM(valor_vale) > (SELECT SUM(valor_baixa) AS total_baixa FROM valesbaixa WHERE id_vale_baixa = id_vale) AND id_func_vale=$id_func[$z] GROUP BY id_func_vale
Não funcionou...
Estou perdido e preciso da ajuda de vocês!
Carregando comentários...