Code:
select * from tabelle where id = ((:condition and (id = 1)) or (not :condition and (id = 20))
Der Plan wird aufgestellt, bevor dein Parameter zugewiesen wird (True, False, NULL).
So, als wenn da zwei unterschiedliche Parameter sind und deshalb beide Teilbedingungen wahr sein könnten.
Code:
select * from tabelle where id = iif(:condition, 1, 20)
Ja sowas habe ich mir auch schon gedacht, aber gibt es da denn eine Möglichkeit das zu beeinflussen?