Thomaier: WHERE: von mehreren Aussagen darf nur eine wahr sein

Beitrag lesen

Hallo,
ich möchte gerne in meiner WHERE-Klausel verschiedene Aussagen haben, von denen aber nur eine wahr sein darf. Für sich einzeln wahr wären in diesem Fall z.B.

  
table.eins = 1  
table.zwei = 2  
table.drei = 3

WHERE soll insgesamt nur wahr sein, wenn ausschließlich EINE der Einzelaussagen wahr ist. Für oben beschriebene Vergleiche könnte das ganze noch anhand aller möglichen Kombinationen beschrieben werden:

WHERE (table.eins = 1 AND table.zwei != 2 AND table.drei != 3) OR (table.eins != 1 AND table.zwei = 2 AND table.drei != 3)  
OR (table.eins != 1 AND table.zwei != 2 AND table.drei = 3)

Wären es nur 3 Werte, würde ich es so machen, da es aber deutlich über ein Dutzend sein können bei mehreren hunderttausenden Datensätzen, wäre mir die einzelne Überprüfung aller möglichen Kombinationen zu aufwendig.

Wie kann die Abfrage optimiert werden?

Danke,
Thomaier