login  Naam:   Wachtwoord: 
Registreer je!
 Forum

sql case when (multiple)

Offline break84 - 19/03/2007 14:26
Avatar van break84Nieuw lid Ik probeer een statement te maken die waardes in een database vergelijkt en dan een bepaalde waarde krijgt. Dit gebeurt bij meerdere voorwaarden. Deze waarden wil ik optellen, maar het werkt niet...
Kan iemand mij hier mee helpen

  1. SQL=SQL&"((CASE WHEN Plaats='"&plaats&"' OR Plaats='geen voorkeur' THEN 30 END)+"
  2. SQL=SQL&"(CASE WHEN Inrichting='"&inrichting&"' OR Inrichting='geen voorkeur' THEN 10 END)+"
  3. SQL=SQL&"(CASE WHEN Soort='"&soort&"' OR Soort='geen voorkeur' THEN 25 END)+"
  4. SQL=SQL&"(CASE Soort.Categorie="&soortcat&" OR Soort.Categorie=0 THEN 10 END)+"
  5. SQL=SQL&"(CASE Huurprijs>"&minprijs&" OR Huurprijs>"&(minprijs*0.8)&" THEN 5 END)+"
  6. SQL=SQL&"(CASE Huurprijs<"&maxprijs&" OR Huurprijs<"&(maxprijs*1.2)&" THEN 10 END))"
  7. SQL=SQL&" AS Points "


2 antwoorden

Gesponsorde links
Offline bosgroen - 19/03/2007 20:52
Avatar van bosgroen Gouden medaille

PHP interesse
euh, welke taal is dit?
sql = sql&"string" das allesinds geen php

ik zie enkele CASE's zonder WHEN

euh, die query is sowieso veel te ingewikkeld; zeker als je het zo uittypt: beter is (denk ik) kwestie van goed te zien of CASE's al dan niet genesteld zijn
CASE
WHEN
Plaats OR Soort
THEN
30
END

Ik vermoed dat dit slechts een gedeelte is van jouw query; je hebt SELECT en FROM table niet gepost?

Kan je eigenlijk DECODE gebruiken in mysql?
Offline Stijn - 19/03/2007 20:57
Avatar van Stijn PHP expert Het is inderdaad geen pure query. Ik denk dat het VB script is maar geraak er niets wijs uit. Er ontbreekt iets, misschien eens zonder al die variablen posten, maar gewoon de volledige querie in string vorm.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.181s