Hoi,
Ben nu bezig met een forum en wil de actieve topics toenen.
<?php
$sql="SELECT DISTINCT(id_sub) FROM forum_replies)";
?>
Ik wil graag dat ik meer gegevens uit de tabel forum_replies krijg dan allen het id_sub, hoe krijg ik dit voor melkaar ?
bram
<?php
$sql="SELECT DISTINCT(id_sub,meer,nogmeer,nogveelmeer,) FROM forum_replies)";
?>
misschien zo??? En waarom distinct?? Waarom niet zonder dat distinct() er omheen??
naar mijn weten moeten de haakjes niet rond de distinct (maar kan wel hoor), maa rom alle velden te krijgen kan je dan best dit doen

<?php
$sql="SELECT DISTINCT * FROM forum_replies";
?>
Greedyxl schreef op 03.11.2004 21:26
<?php
$sql="SELECT DISTINCT(id_sub,meer,nogmeer,nogveelmeer,) FROM forum_replies)";
?>
misschien zo??? En waarom distinct?? Waarom niet zonder dat distinct() er omheen??


Distinct zorgt ervoor dat er geen dubbele waarden komen, en die haakjes moeten volgens mij wel ^^
Hum,
het lukt nog niet allemaal zo goed :'(
Ik wil van maar een kolom de distinct waardes (euh kolom is toch wel de verticale rij?) en de rest maakt allemaal niet uit wat voor waardes het zijn. Mischien is ditsinct niet het juiste wat ik dan zoek.
<?php
$sql="SELECT DISTINCT(id_sub,meer,nogmeer,nogveelmeer) FROM forum_replies";
?>
Dit werkte helaas ook niet.
bram
SELECT DISTINCT(id_sub), veldje, veldje, veldje FROM forum_replies
Aarg....(frustratie)
Het doet het nog steed niet, ook niet met het bovenstaande.Nu heb ik zelf iets verzonnen met een subquery, iets wat ik altijd probeer te vermijden :p Oke dit is het dus:
<?php
$sql="SELECT * FROM forum_replies WHERE id_sub=(SELECT DISTINCT(id_sub)FROM forum_replies)";
?>
wat is er nu fout aan deze parchtige subquery?
bram
MySQL support geen subqueries :+

Geef ons 'ns een schema van wat er moet gebeuren, dan helpen we je wel ff, ben je vanaaf nog klaar ^^
Tabel met de replies:
id|id_sub|naam| datum | reply|
1 |1 |abcd|20041102192616|blabla
2 |1 |bram|20041102195004|bla
3 |2 |bram|20041103144922|bla2

Tabel met onderwerpen:
id|onderwerp|
1 |ok
2 |jaja

Gewenste uivoer:
id_sub|onderwerp|laatste reactie datum|
1 |ok |20041102195004
2 |jaja |20041103144922

De id_sub verwijst naar de id van de tabel met onderwerpen. Nu wou graag dat je de laatste onderwerpen kunt zien waar er het laatst op is gereageerd. Hierbij moet dus de id_sub uniek zijn.
bram
SELECT o.onderwerp, r.datum FROM onderwerpen as o INNER JOIN raplies as r ON( distinct(o.id_sub) = r.id_sub ) ORDER BY r.datum DESC LIMIT 0,5

Geeft je de laatste 5 berichten waarop gereageerd is :)
Denk eens even na wat je wilt doen :
de distinct waardes opvragen en er dan verder de 'rest' aan koppelen.

Hoe weet je database nu welke hij moet nemen?

Bv :
naam - leeftijd
-----------------
Mary - 22
Hans - 13
An - 14
Tim - 22

Select distinct(leeftijd),naam from table;

Hoe weet de tabel nu welke naam hij moet nemen voor leeftijd 22? Dit zal dus ook nooit een mooie uitkomst geven...

maw :
Select distinct(leeftijd) from tabel levert :
22
13
14

Select distinct(leeftijd),naam from tabel levert :
22, Mary
13, Hans
14, An
22, Tim

Je distinct valt dus een beetje in het water...

Reageren