Ich habe eine Situation, in der 2 Variablen in eine Abfrage von einem externen System übergeben werden.bedingt filtern Ergebnisse durch den Wert einer Variablen
Wenn die Variable 0 ist, bedeutet das, dass nicht gefiltert wird.
So etwas wie folgt aus:
--if @a = 0 then don't filter by @a
--if @b = 0 then don't filter by @b
SELECT * FROM Engines e
JOIN Transmissions t ON e.carId = t.carId
WHERE e.engineId IN(@a)
AND t.transmissionId IN (@b)
So zum Beispiel, wenn @a 0 war, dann nur Sorgen um die Übertragungen zu filtern. Und die Abfrage würde im Wesentlichen sein:
SELECT * FROM Engines e
JOIN Transmissions t ON e.carId = t.carId
WHERE t.transmissionId IN (@b)
Oder wenn @b 0 war, dann wäre es dieses mag:
SELECT * FROM Engines e
JOIN Transmissions t ON e.carId = t.carId
WHERE e.engineId IN(@a)
Oder wenn beide @a und @b waren 0, dann zeigen alles wie folgt aus:
SELECT * FROM tblA a
JOIN tblB b ON a.carId = b.carId
Gibt es eine Möglichkeit, bedingt wie folgt zu filtern?
Dank