[SQL] SUM probleem wanneer er niks valt op te tellen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thijs X

Thijs X

01/06/2007 18:01:00
Quote Anchor link
Hallo allemaal,

Ik probeer dmv een Query uit te rekenen hoeveel vrije ruimte er nog is.
Alleen wanneer er geen bestanden zijn toegevoegd geeft hij niks terug,
terwijl dat natuurlijk niet klopt.
Want dan zou hij gewoon de totaale ruimte moeten weergeven die bij die gebruiker staat.
Iemand enig idee hoe ik dat kan oplossen?
Dacht zelf aan een IF binnen mn Query maar heb geen idee hoe ik dat het beste kan doen.

Query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
mysql_query("
    SELECT
        gebruikers.ruimte - SUM(bestanden.bestand_grootte)
    AS
        vrijeruimte
    FROM
        gebruikers,
        bestanden
    WHERE
        gebruikers.id = '"
.$_SESSION['id']."'
    AND
        bestanden.id_gebruikers = '"
.$_SESSION['id']."'")
    or die(mysql_error());
?>


Edit:
1337 Posts ^^
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
PHP hulp

PHP hulp

24/11/2024 00:10:40
 
Martijn Wieringa

Martijn Wieringa

02/06/2007 09:58:00
Quote Anchor link
Ik denk dat dat met een left join moet werken (maar niet getest..)


"SELECT gebruikers.ruimte - SUM(bestanden.bestand_grootte) AS vrijeruimte
FROM gebruikers LEFT JOIN bestanden ON gebruikers.id = bestanden.id_gebruikers
WHERE gebruikers.id = '".$_SESSION['id']."'"


Edit:

http://www.w3schools.com/sql/sql_join.asp
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
 
Thijs X

Thijs X

02/06/2007 17:31:00
Quote Anchor link
Ik heb geprobeerd wat jij bedoelde Pholeron, maar dat gaf helaas hetzelfde resultaat als je Query hierboven. Zodra er niks valt op te tellen geeft hij niks weer bij "vrijeruimte", iemand een ander idee hoe ik dat kan doen dmv 1 Query?

Deze Query gebruikte ik btw:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$query
= mysql_query("
    SELECT
        gebruikers.ruimte
        -
        SUM(bestanden.bestand_grootte)
    AS
        vrijeruimte
    FROM
        gebruikers
    LEFT JOIN
        bestanden
    ON
        gebruikers.id = bestanden.id_gebruikers
    WHERE
        gebruikers.id = '"
.$_SESSION['id']."'")
    or die(mysql_error());
?>


Edit:


Heb het opgelost dmv IFNULL() :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$query
= mysql_query("
    SELECT
        gebruikers.ruimte
        -
        IFNULL(SUM(bestanden.bestand_grootte), 0)
    AS
        vrijeruimte
    FROM
        gebruikers
    LEFT JOIN
        bestanden
    ON
        gebruikers.id = bestanden.id_gebruikers
    WHERE
        gebruikers.id = '"
.$_SESSION['id']."'")
    or die(mysql_error());
?>

Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 



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.