CASE met parameter mogelijk?

Status
Niet open voor verdere reacties.

RolandPricken

Gebruiker
Lid geworden
17 sep 2010
Berichten
49
Hallo,

Wederom een vraag :)

Ik heb nu de case gemaakt dat als een kolom een "(" bevat het de waarde 0 krijgt, zo niet wordt het 1.
Hoe kan ik hier nu een parameter opmaken?

SELECT case when MECHANICCODE LIKE '%(%' then '0' else '1' end as toekenning
FROM PICKINGLIS50046
 
Wat bedoel je met "een parameter opmaken"? Wat wil je veranderen?
 
Ik wil graag kunnen kiezen of ik de resultaten met 1 of 0 in de kolom toekenning kan laten zien in mn tabel (waarin natuurlijk meer staat als alleen de kolom toekenning)
 
Dat kan met stored queries / stored procedures. Echter is dat wel afhankelijk van je database en gedeeltelijk van welke taal je gebruikt om de data op te roepen.

Er is geen algemeen antwoord voor binnen SQL. Het is namelijk de taak van de taal "boven" SQL om die afweging te maken.
 
Is het dan mogelijk om een parameter in te stellen waar ik in kan kiezen, de waarde dient een "(" te bevatten of niet?
 
Ja, zoals ik al aangaf kun je met stored procedures een standaard query maken met een parameter en aan de hand van de meegegeven parameter de juiste query gebruiken.

ECHTER: je bovenliggende laag moet dus ook de juiste parameter meesturen naar SQL. Vaak is het praktischer om in de bovenliggende laag (zoals PHP / ASP / Cx / VB) een variabele query te maken en dit niet in de database te stoppen. Een query zonder de "CASE" loopt namelijk vele malen sneller en gebruikt minder resources.

Het is makkelijker o de SQL tekst aan te passen dan de SQL query een manusje-van-alles te maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan