sql joinen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten M

Maarten M

27/03/2015 17:44:21
Quote Anchor link
Hey besten mensen...
Ik heb het ooit in school geleerd, maar was maar 3 weken theorie en alweer eeuwen geleden.

Ik ben terug herbegonnen met php om voor mezelf een eenvoudige database aan te maken.
Ik ben momenteel tevreden over het visuele gedeelte (in de code die erachter zit vind een kat haar eigen jong niet in terug). Maar dat is dat.

Ik zit momenteel echter te sukkelen met mijn sql, 3 tabellen.
Hey besten mensen...
Ik heb het ooit in school geleerd, maar was maar 3 weken theorie en alweer eeuwen geleden.

Ik ben terug herbegonnen met php om voor mezelf een eenvoudige database aan te maken.
Ik ben momenteel tevreden over het visuele gedeelte (in de code die erachter zit vind een kat haar eigen jong niet in terug). Maar dat is dat.

Ik zit momenteel echter te sukkelen met mijn sql, 3 tabellen.
De database is als volgt opgebouwd:
Afbeelding

De inhoud zou er als volgt uitzien ongeveer...
Afbeelding

Uit deze tabel zou ik het volgende willen halen:
Iedere tegenpartij met zijn overeenkomstige ammount, waar direction "O" is.

Het is me gelukt om afzonderlijk de gegevens er uit te halen (van bepaald tegenpartij.ID)... maar zou deze in 1 query willen doen maar geraak er niet uit.
Kan er iemand mij hierbij helpen, of op weg zetten? Ik dacht aan een join, maar daar ben ik helemaal niet goed in... en weet dat er ergens een count in moet... maar dat lukt me toch nog niet zo goed.
Gewijzigd op 27/03/2015 17:46:08 door Maarten M
 
PHP hulp

PHP hulp

16/11/2024 13:55:37
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/03/2015 18:20:08
Quote Anchor link
Waarom zet je de tegenpartij kolom niet in de cashflow tabel?
Je hebt inderdaad een JOIN nodig en een GROUP BY in combinatie met de SUM functie:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
SELECT
    t.tegenpartij
    IFNULL(SUM(c.amount), 0) totaal
FROM
    tegenpartijen t
LEFT JOIN
    vw
    ON t.id = vw.tegenpartij
LEFT JOIN
    cashflow c
    ON vw.cashflow = c.id AND direction = 'O'

Hiermee krijg je alle tegenpartijen, ook degenen waaraan niets is betaald (met 0 als totaal)
Gewijzigd op 27/03/2015 18:29:27 door Ger van Steenderen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.