SQL: Verwenden Sie mehrere Werte in einer einzelnen SELECT-Anweisung

7

Ich verwende eine SELECT-Anweisung in T-SQL in einer ähnlichen Tabelle:

%Vor%

Dies scheint bei der Suche nach einer Anwendungs-ID oder einer Standort-ID zu funktionieren, aber was ist, wenn ich die Anweisung für mehrere Standorte ausführen möchte? Ich möchte alle Ergebnisse für eine unbekannte Anzahl von location_id's und application_id's zurückgeben. Zum Beispiel, wenn ich jemanden auf der location_id 2, 3, 4, 5 aber mit nur einer Anwendungs-ID suchen wollte. Wie würde ich das tun?

Vielen Dank im Voraus!

BEARBEITEN: Ich bin ein Idiot! Ich habe es leicht gemacht, ohne Ihnen alle Details zu geben. Alle diese Werte sind in einer Tabelle angegeben. Der Benutzer muss die IDs aus einer Spalte in der Tabelle auswählen, anstatt sie einzufügen. Nachdem ich ein wenig über dieses Problem recherchiert hatte, kam ich auf eine Seite, die mir schien tout eine tragfähige Lösung.

%Vor%

Kann mir jemand helfen, das zu perfektionieren, um meine Bedürfnisse zu erfüllen? Entschuldigung, wenn meine Frage nicht sehr klar ist, da ich mich bemühe, mich selbst damit zu beschäftigen.

BEARBEITEN 2: Nachdem ich etwas mehr über das Thema gelesen habe, scheint es, dass ich dafür eine gespeicherte Prozedur benötige. Der Code oben scheint das zu sein, was ich brauche, aber ich habe Probleme, ihn an meine Bedürfnisse anzupassen. Die Tabellenstruktur ist wie folgt:

%Vor%

Laut dem Artikel, den ich gerade verlinkt habe:

  

"Der richtige Umgang mit dem   Situation ist es, eine Funktion zu verwenden, die   entpackt die Zeichenfolge in eine Tabelle. Hier   ist eine sehr einfache Funktion: "

Es scheint also, dass ich diese Werte in einen String entpacken muss und sie mit dieser gespeicherten Prozedur durchlaufen muss. Irgendeine Idee, wie ich das zur Arbeit bringen kann?

EDIT 3: Ich habe es geschafft, es mit charindex () und convert () zu lösen, während ich sie oben setze. Vielen Dank für Ihre Hilfe und ich entschuldige mich nochmals dafür, dass ich Schmerzen habe.

    
Mike B 23.06.2009, 09:23
quelle

3 Antworten

17

Verwenden Sie IN wie folgt:

%Vor%     
Joel Goodwin 23.06.2009, 09:28
quelle
3

Ich bin mir nicht sicher, ob ich den " BEARBEITEN " Teil Ihrer Frage richtig verstanden habe, aber meinen Sie so etwas?

%Vor%

BEARBEITEN:
Jetzt, da ich deinen zweiten Schnitt gelesen habe, bin ich mir immer noch nicht sicher, ob ich verstehe, was du wirklich MACHEN willst.

Natürlich können wir Ihnen bei Ihrer gespeicherten Prozedur helfen, aber eines ist mir nicht ganz klar:

Möchten Sie, dass wir Ihnen bei der Erstellung des SP helfen? Oder willst du wirklich etwas anderes machen, aber denkst du musst es tun, indem du einen SP erstellst, weil der Link das so sagt?

Können Sie angeben, wie das erwartete Ergebnis aussieht?

    
Christian Specht 23.06.2009 09:49
quelle
0

Sie können eine IN-Klausel wie folgt verwenden: -

%Vor%     
Steve Weet 23.06.2009 09:29
quelle

Tags und Links