gemeinsam habe ich eine Querverweistabelle, die wie folgt aussieht:SQL Auswählen von Zeilen in dem Wert einer Spalte ist über eine andere Kriterien Spalte
id document_id subject_id
1 8 21
2 5 17
3 5 76
4 7 88
5 9 17
6 9 76
7 2 76
Es passt Dokumente zu Themen. Dokumente können Mitglieder von mehr als einem Thema sein. Ich möchte Zeilen aus dieser Tabelle zurückgeben, wo ein gegebenes Dokument alle die Themen in einem gegebenen Satz entspricht. Um zum Beispiel die Reihe von Themen gegeben:
(17,76)
ich nur die Zeilen für Dokumente zurückgeben möchten, die in diesem Satz (zumindest) irgendwo in der Querverweistabelle alle Themen entsprechen. Die gewünschte Ausgangsmenge des obigen Satzes gegeben wäre:
id document_id subject_id
2 5 17
3 5 76
5 9 17
6 9 76
bemerken, dass die letzte Zeile der Tabelle nicht nur, weil das Dokument zurückgegeben entspricht einer der erforderlichen Themen.
Was ist die einfachste und effizienteste Möglichkeit, dies in SQL abzufragen?
Es wäre toll zu wissen, wie Sie die Parameter für die Abfrage bereitstellen. Ich sehe eine Antwort, obwohl vollkommen in Ordnung, es wird nur für genau 2 Werte im Parametersatz funktionieren. Wenn Sie die Anzahl der Parameter begrenzen können, z. B. auf 10, dann ist es eine Unterhaltung. Wenn die App flexibel sein soll, werden die Vorschläge anders aussehen. – Eugene
Danke, die Eingabe ist im Grunde "wählen Sie eine beliebige Anzahl von Themen", so dass die Menge der Betreff-IDs so groß wie die Anzahl der Fächer (theoretisch) wachsen kann. – Maciek