/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
hjælp til forespørgsel
Fra : René Iversen


Dato : 21-02-04 16:13

Jeg har følgende:

SELECT diskussion.*, count( diskussionindlaeg.indlaegid ) AS antalIndlaeg
FROM diskussion, diskussionindlaeg
WHERE diskussion.diskussionsid = diskussionindlaeg.diskussionsid
GROUP BY diskussionindlaeg.diskussionsid
ORDER BY dato DESC

Det virker fint nok, men jeg vil gerne have, at diskussioner med 0 indlæg
også bliver en del af resultatet...kan det lade sig gøre? Har forsøgt med
HAVING antalIndlaeg >= 0



 
 
Peter Brodersen (21-02-2004)
Kommentar
Fra : Peter Brodersen


Dato : 21-02-04 16:46

On Sat, 21 Feb 2004 16:12:48 +0100, "René Iversen"
<riversen@SLETDETTEriversen.dk> wrote:

>SELECT diskussion.*, count( diskussionindlaeg.indlaegid ) AS antalIndlaeg
>FROM diskussion, diskussionindlaeg
>WHERE diskussion.diskussionsid = diskussionindlaeg.diskussionsid
>GROUP BY diskussionindlaeg.diskussionsid
>ORDER BY dato DESC

I din WHERE medtager du kun de tilfælde, hvor der rent faktisk er
indlæg i, i diskussionsindlaeg. Du skal nok bruge en LEFT JOIN i
stedet for din WHERE/INNER JOIN.

Erstat evt. FROM- og WHERE-linjen med:

FROM diskussion
LEFT JOIN diskussionindlaeg
ON diskussion.diskussionsid = diskussionindlaeg.diskussionsid

Så vil "diskussionindlaeg.indlaegid" være NULL i de tilfælde, hvor der
ikke er nogen indlæg (og ikke blive talt med i COUNT-delen).

--
- Peter Brodersen

Ugens sprogtip: saltomortale (og ikke saltomotale)

René Iversen (21-02-2004)
Kommentar
Fra : René Iversen


Dato : 21-02-04 17:00


"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:c17ufo$4g9$1@dknews.tiscali.dk...
>
> I din WHERE medtager du kun de tilfælde, hvor der rent faktisk er
> indlæg i, i diskussionsindlaeg. Du skal nok bruge en LEFT JOIN i
> stedet for din WHERE/INNER JOIN.
>
> Erstat evt. FROM- og WHERE-linjen med:
>
> FROM diskussion
> LEFT JOIN diskussionindlaeg
> ON diskussion.diskussionsid = diskussionindlaeg.diskussionsid
>
> Så vil "diskussionindlaeg.indlaegid" være NULL i de tilfælde, hvor der
> ikke er nogen indlæg (og ikke blive talt med i COUNT-delen).
>

Tak... det lader til der er et sjov lille problem. Af en eller anden årsag,
kommer den diskussion med højeste id ikke med i forespørgslen, hvis den ikke
indeholder indlæg. Det er KUN et problem med den nyeste diskussion... Andre
diskussioner med 0 indlæg kommer med???



René Iversen (25-02-2004)
Kommentar
Fra : René Iversen


Dato : 25-02-04 09:18

NE1 ???



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste