TheGamer
2011-12-16, 16:48:04
Hallo,
ich habe eine MSSQL Datenbank folgendermassen befuellt (reduziert auf das noetigste).
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Ich brauche nun alle FileIds bei denen der Value 1 UND 2 ist.
Ich weiss das ein Satz natuerlich nur einen Wert in Value haben kann.
Im Beispiel waere das
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
und
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
Ich moechte das gerne in einem einzigen Select haben. Dann weiss ich schonmal die FileId naemlich FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5
Dann moechte ich aber noch einen Select haben wie SELECT * FROM table WHERE FileId = 'FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5'
Dann bekomme ich
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
Und genau das brauche ich.
Das ganze ist aber natuerlich langsam. Weil das 3 Selects sind. Ich versuche das irgendwie in einen einzigen Select unterzubringen. Vielleicht ist auch der Grundsaetzliche Ansatz falsch.
Anderes Beispiel. Ich suche nach Value 1 UND 2 UND a dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 1 UND 2 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 1 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 4 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
Das Design der Tabelle kann ich nicht aendern.
ich habe eine MSSQL Datenbank folgendermassen befuellt (reduziert auf das noetigste).
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Ich brauche nun alle FileIds bei denen der Value 1 UND 2 ist.
Ich weiss das ein Satz natuerlich nur einen Wert in Value haben kann.
Im Beispiel waere das
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
und
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
Ich moechte das gerne in einem einzigen Select haben. Dann weiss ich schonmal die FileId naemlich FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5
Dann moechte ich aber noch einen Select haben wie SELECT * FROM table WHERE FileId = 'FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5'
Dann bekomme ich
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
Und genau das brauche ich.
Das ganze ist aber natuerlich langsam. Weil das 3 Selects sind. Ich versuche das irgendwie in einen einzigen Select unterzubringen. Vielleicht ist auch der Grundsaetzliche Ansatz falsch.
Anderes Beispiel. Ich suche nach Value 1 UND 2 UND a dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 1 UND 2 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 1 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA a
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA b
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 1
65565E6E-BDD9-4C9E-B26D-9C411FE99CEA 2
Noch ein Beispiel. Ich suche nach Value 4 dann muss das Ergebnis des Queries wie folgt ausschauen
FileId Value
===================================================
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 1
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 2
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 3
FB1C52B7-CBF5-43E2-83F5-FEF41D7BEFB5 4
Das Design der Tabelle kann ich nicht aendern.