Använda IF eller CASE i sqlsats?

Databaser & SQL

1 svar · 214 visningar · startad av Hubert

Medlem sedan maj 200219 inlägg
Trådstart#1

Hej
Jag kör följande kod:

SELECT under, dir FROM kataloger WHERE kID = '4589665' ORDER BY dir

Om det då blir "Empty set" så vill jag att den ska använda ett annat värde för

...WHERE kID = '4589665'...

Har testat med:

SELECT under, dir   FROM kataloger   WHERE kID = case when kID is null then '123456' else '4589665' end   ORDER BY dir

Och liknande lösningar, men får inte det att funka. Kör Mysql 3.23 så subselects är ingen lösning för mig.

Kan man lösa detta med en sqlsats?

Medlem sedan dec. 200012 464 inlägg
#2

Om jag har förstått ditt problem rätt så går det inte utan subqueries. Jag ser inget alternativ än att ställa en fråga till om den första inte ger något svar.

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)