[SQL] SUM probleem wanneer er niks valt op te tellen.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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());
?>
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
"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
Deze Query gebruikte ik btw:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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());
?>
$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() :
Heb het opgelost dmv IFNULL() :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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());
?>
$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