yo,
Sql a) der Anforderung gerecht wird b) noch optimiert werden könnte.
optimierung von datenbanken ist ein großes thema für sich und sql abfragen ist dabei nur eine schraube von vielen, an der gedreht werden kann. deshalb ist es immer schwierig, eine datenbank optimal abzustimmen, zumal die performance auch nur ein qualitätsmerkmal ist. grundsätzllich gilt aber immer alles auszuprobieren. nicht selten kommen ergebnisse heraus, die einen verwundern.
der zweite grundsatz ist, reicht mir das, was ich habe oder besteht handlungsbedarf. wenn es nämlich gar keine performance-probleme gibt und dir die abfrage so "gefällt", dann würde ich es einfach so lassen.
schaffen, indem ich den Benutzer Checkboxen anklicken lasse
ich gehe mal davon aus, dass man immer nur eine dieser drei optionen auswählen kann, also keine kombinationen davon. dann wäre eine möglichkeit, auch drei unabhängige abfragen dafür zu machen, die für sich optimiert sind.
eine verständnisfrage wäre noch, ob durch das auswählen von flag 1, automatisch damit flag 2 auf 0 sein sollte oder ob es auch auf 1 sein kann, hauotsache flag1 hat den wert 1
Ilja