Entwickler-Ecke
Datenbanken - ADOQuery IN-Klausel
wersi77 - Fr 19.08.11 20:11
Titel: ADOQuery IN-Klausel
Hallo zusammen,
ich würde gerne eine Select Anweisung mit Parametern in der WHERE Klausel aufbauen, welche folgendermaßen aussieht:
SELECT * FROM meineTabelle WHERE meineID IN (:pklauseln)
Wenn ich nun den Parameter pklauseln mit einzelnen Werten fülle, dann funktioniert die Anweisung ohne Probleme, z.B.
SELECT * FROM meineTabelle WHERE meineID IN (1)
SELECT * FROM meineTabelle WHERE meineID IN (4)
SELECT * FROM meineTabelle WHERE meineID IN (99)
Allerdings scheint man den Parameter nicht mit mehr Werten füllen zu können. D.h. eine Zuweisung von pklauseln='1,4,99' so dass folgendes Ergebnis herauskommt funktioniert nicht:
SELECT * FROM meineTabelle WHERE meineID IN (1,4,99)
Ist eine derartige Parameterübergabe überhaupt möglich, oder mache ich etwas falsch?
Mir würde allerdings schon ausreichen, wenn ich mit der SELECT-Anweisung einen einzigen Wert oder eine Art Wildcard definieren könnte. Also:
SELECT * FROM meineTabelle WHERE meineID IN (1)
UND
SELECT * FROM meineTabelle WHERE meineID IN (*)
Aber soweit ich weiss, sind Wildcards in IN-Klauseln nicht möglich.
Wer kann mir hierzu weiterhelfen?
haentschman - Sa 20.08.11 08:51
Moin...
prinzipiell ist das nicht falsch. In Anlehnung an ein SQL Tutorial kann ich nur mal in den Raum werfen, daß die Werte in der IN Anweisung in Hochkommas stehen sollten ? :gruebel:
...da ich das IN nur in Verbindung mit Subselects verwende stellt sich die Frage nicht.
SQL-Anweisung
1: 2: 3:
| SELECT "Spalten_Name" FROM "Tabellen_Name" WHERE "Spalten_Name" IN ('Wert1', 'Wert2', ...) |
- welche Fehlermeldung bekommst du ?
- kannst du die Werte als Parameter übergeben ?
mandras - Sa 20.08.11 14:32
> Ist eine derartige Parameterübergabe überhaupt möglich, oder mache ich etwas falsch?
Ist meines Wissens nach nicht möglich (zumindest bei BDE/ADO/IBX)
Parameter können nur einzelne Werte übergeben, bei IN (...) ist es ja eine Liste.
Bevor Du unnötig Zeit aufwendest ein Tipp von mir: Bau den SQL-Text selbst auf.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!