Abfrage mit verschiedenen Kriterien
Andi
- datenbank
0 Vinzenz Mai0 Andi
Hallo,
mein Problem ist folgendes:
Per Webservice werden verschiedene Daten mit verschiedenen Kriterien abgefragt. Manche Bedingungen stehen dabei in einer separaten Tabelle.
Beim Webservice können dabei Bedingungen übergeben werden, welche folgendermaßen aussehen:
A;B|C -> Bedeutet A && B || C
A;(B|C) -> Bedeutet A && (B || C)
Nun muss ich daraus eine Query basteln, was mir Probleme bereitet. Im obigen Fall wäre die Abfrage z.b.:
A;B|C -> Bedeutet A && B || C
FROM tab1 WHERE id IN (SELECT id FROM tab2 WHERE feld = A OR feld = C) AND
id IN (SELECT id FROM tab2 WHERE feld = B OR feld = C)
A;(B|C) -> Bedeutet A && (B || C)
FROM tab1 WHERE id IN (SELECT id FROM tab2 WHERE feld = A OR (feld = B OR feld = C))
Das sind jetzt nur einfache Beispiele d.h. es können auch kompliziertere Abfragen eingehene z.b. (A|B;(C|D)).
Hat jemand eine Idee oder Lösungsansatz, wie man solche Bedingungen in eine Abfrage bekommt?
Grüße
Andi
Hallo,
Nun muss ich daraus eine Query basteln, was mir Probleme bereitet. Im obigen Fall wäre die Abfrage z.b.:
A;B|C -> Bedeutet A && B || C
FROM tab1 WHERE id IN (SELECT id FROM tab2 WHERE feld = A OR feld = C) AND
id IN (SELECT id FROM tab2 WHERE feld = B OR feld = C)
Das sind jetzt nur einfache Beispiele d.h. es können auch kompliziertere Abfragen eingehene z.b. (A|B;(C|D)).
Hat jemand eine Idee oder Lösungsansatz, wie man solche Bedingungen in eine Abfrage bekommt?
einen simpler Join mit einer entsprechend aufbereiteten Join-Bedingung sollte es tun. Ich sehe keinen Grund Subselects zu verwenden.
Lesetipps zu Joins:
- Einführung in Joins
- Fortgeschrittene Jointechniken
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
einen simpler Join mit einer entsprechend aufbereiteten Join-Bedingung sollte es tun. Ich sehe keinen Grund Subselects zu verwenden.
Joins sind hier das bessere Mittel. Damit ist es auch leichter die Bedingung in einen join zu bekommen.
Freundliche Grüße
Andi