Autor Beitrag
wersi77
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Fr 19.08.11 20:11 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 285
Erhaltene Danke: 33


DX10 Berlin Professional
BeitragVerfasst: 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.
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 432
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: 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.