Suchen Problem in SQL Server
-
27-09-2019 - |
Frage
Ich brauche für Elemente in einer Tabelle suchen, die alle meine gewünschten Werte in einer Spalte d Ich habe Tabelle:
ID : 1 2 3 3 2 2 2 1 1 3
VALUE : 5 6 5 3 6 7 2 1 9 0
Ich möchte ein StoredProc eine Liste von Werten zum Beispiel geben ( „6,7,2“), und es gibt mir alle IDs, die alle die angegebenen Werte in diesem Fall würde es nur den Wert 2
Wenn ich für solche, die mindestens einen der Werte suchen, wollte ich wissen, könnte ich „IN“ verwenden, aber alle Werte habe ich nichts gefunden.
Vielen Dank im Voraus
Afshin Arefi
Lösung
In SQL Server 2008 können Sie verwenden Tabellenwertparameter .
Damit können Sie in einer Tabelle von Werten zu einer gespeicherten Prozedur zu übergeben und behandeln sie wie jede andere Tabelle (Einsatz in Unterabfragen, schließt sie usw.).
Im Hinblick auf die Abfrage - wenn Sie einen Tabellenwert-Parameter verwenden möchten, können Sie es für die Größe (wie viele Zeilen), die Verwendung IN
in Verbindung mit einem GROUP BY
auf dem ID
Feld und einem HAVING
, die zählt die Anzahl der Zeilen abfragen .