Toon posts:

[SQL] query vraag

Pagina: 1
Acties:

Verwijderd

Topicstarter
het volgende statement:

code:
1
SELECT *, ((imgvotesum)/(imgvotes)) AS stem FROM `gallery` WHERE published=1 ORDER BY stem DESC;


beschrijving:

een fotoalbum waarbij als er gestemt is achteraf bekeken kan worden welke foto
gemiddeld het hoogste cijfer (stem) heeft.

probleem:

wanneer ((imgvotesum)/(imgvotes)) als resultaat 0 heeft krijgt STEM de waarde NULL ipv 0. dit gaat niet helemaal lekker met het sorteren omdat ik nu eerst alle NULL waardes krijg en vervolgens pas alle numerieke waardes. Ik wil dus graag
dat er eerst gesorteerd wordt op numerieke waardes en dan pas op NULL waardes of dat NULL waardes automatisch 0 worden.. maar ik kom er niet echt
meer uit. Iemand hier misschien een oplossing?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Kijk eens of je DBMS een van deze functies kent ISNULL(), NVL(), ..... en gebruik die in je SQL statement.
Hoe die functie noemt, is afhankelijk van het DBMS dat je gebruikt.

https://fgheysels.github.io/


  • Swa-baldie
  • Registratie: Juni 2002
  • Laatst online: 19-06-2023
de nvl functie misschien?

Hmm net te laat...

[ Voor 31% gewijzigd door Swa-baldie op 13-01-2004 13:16 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12:18

gorgi_19

Kruimeltjes zijn weer op :9

Afhankelijk van de database, kijk eens naar CASE, iif, IsNull

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
het is ondertussen gelukt met de volgende code

code:
1
2
SELECT *, ((imgvotesum)/(imgvotes)) AS stem, IF(ISNULL((imgvotesum)/(imgvotes)),1,0)
as orderkolom FROM `mos_akogallery` WHERE published=1 ORDER BY orderkolom, stem DESC;


thnx nog

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
:?

code:
1
2
SELECT *, ISNULL(imgvotesum, 0) / ISNULL(imgvotes, 1) AS blaat, ...
FROM tabel

Waarom doe je het zo niet?

https://fgheysels.github.io/

Pagina: 1