ORDER BY , null
nu wil ik ORDER BY rank doen, maar de rijen met waarde NULL moeten achteraan, nu komen ze vooraan?
1
2
4
NULL
DESC in je query zetten
ik wil nummers oplopend en op het einde NULL
het is een int(1) veld, maar er kan toch NULL komen te staan? waarom maak je de default value niet gewoon 0 ? :-)
ASC is dat ze normaal worden weergegeven
0 komt ook weer voor alle cijfers he ;-)
SELECT * FROM tabel WHERE nummer != 0;
en dan daarna
SELECT * FROM tabel WHERE nummer = 0;
maar die query is al ellenlang:
SELECT
leden.*,
functie.functie,
functie.ploeg AS ploeg_id,
ploegen.naam AS ploeg_naam
FROM
leden
INNER JOIN
ledenfunctie AS functie ON
(functie.leden_id = leden.id)
LEFT JOIN
ploegen ON
(functie.ploeg = ploegen.id)
WHERE
functie.type = '".$_GET['type']."'
ORDER BY
ploegen.rank,
ploegen.naam,
leden.naam
*bump* (normaal doe ik dit nooit, maar ik heb het echt nodig. Mijn excuses)
als een ploeg de ranking op NULL geset wordt, dan alle waarden in de ledenfunctie van die ploeg verwijderen.
dan komen ze er helemaal niet meer op, want die ploeg bestaat dan ook zogezegd niet meer
De enige oplossing die er is, is NULL-resultaten niet tonen. Het is wat vreemd dat iemand meespeelt in een competie, maar geen ranking heeft. Zodra je meespeelt, heb je namelijk een ranking.
idd, een trainer/speler die bij een ploeg staat die niet getoont moet worden is eigenlijk geen trainer/speler meer he.
ik zal WHERE ploegen.rank IS NOT NULL erbijzetten ;-)
bedankt om mee te denken iedereen
*bump, omdat jan koehoorn er is en het is al meer dan 24u ;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$sql = "SELECT
leden.*,
functie.functie,
functie.ploeg AS ploeg_id,
ploegen.naam AS ploeg_naam
FROM
leden
INNER JOIN
ledenfunctie AS functie ON
(functie.leden_id = leden.id)
LEFT JOIN
ploegen ON
(functie.ploeg = ploegen.id)
WHERE
functie.type = '".$_GET['type']."'
AND
ploegen.rank IS NOT NULL
ORDER BY
ploegen.rank,
ploegen.naam,
leden.naam";
?>
$sql = "SELECT
leden.*,
functie.functie,
functie.ploeg AS ploeg_id,
ploegen.naam AS ploeg_naam
FROM
leden
INNER JOIN
ledenfunctie AS functie ON
(functie.leden_id = leden.id)
LEFT JOIN
ploegen ON
(functie.ploeg = ploegen.id)
WHERE
functie.type = '".$_GET['type']."'
AND
ploegen.rank IS NOT NULL
ORDER BY
ploegen.rank,
ploegen.naam,
leden.naam";
?>
als nu het 'functie.ploeg' 0 is, dan is 'ploegen.rank' meteen ook NULL en wordt de persoon bijgevolg ook niet getoond.
hoe kan ik dit oplossen (als ploeg=0 dan mag rank NULL zijn)