Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL-Abfrage mehrere Datensätze (https://www.delphipraxis.net/188071-sql-abfrage-mehrere-datensaetze.html)

HPB 28. Jan 2016 10:52

Datenbank: Interbase • Version: 3.0 • Zugriff über: IB-Controls

SQL-Abfrage mehrere Datensätze
 
Guten Tag Delphianer,
ich möchte aus einer Tabelle willkürlich Datensätze (DS) selektieren.
Die Tabelle könnte z. B eine Tabelle mit Adressen sein.

Es sollen z. B.
DS 1; DS 2; DS 4; DS 10; DS 20 usw. usw. selektiert werden.

Delphi-Quellcode:
Select * from Table
where ?????? = ??
Wie muss ich jetzt vorgehen, also die Where-Klausel aufbauen, um die gewählten Datensätze
in einem Grid anzuzeigen oder auf dem Drucker als Tabelle auszugeben.
Mir fällt keine andere Möglichkeit ein, als jeden gewählten DS in eine neue Tabelle zu kopieren
und diese dann auszugeben.
Muss es dann eine physische Tabelle sein??
und ist dies die einzige Möglichkeit??
Gibt es nicht doch noch eine andere Möglichkeit?

Mit Gruß HPB

mkinzler 28. Jan 2016 10:59

AW: SQL-Abfrage mehrere Datensätze
 
SQL-Code:
select
  *
from
  <Tabelle>
where
  <Feld> in (<Werteliste>);

HPB 28. Jan 2016 11:15

AW: SQL-Abfrage mehrere Datensätze
 
Zitat:

Zitat von mkinzler (Beitrag 1328608)
SQL-Code:
select
  *
from
  <Tabelle>
where
  <Feld> in (<Werteliste>);

Guten Tag mkinzler,
vielen Dank für Deine rasche Antwort.
Es gibt also scheinbar eine Lösung.

Ich kann z. B. den PK jeden einzelnen DS in ein String Schreiben und diesen dann an die Where-Klausel übergeben?
Die PK der Tabelle sind ja vom Typ Integer.
In etwa so:
Inhalt der Werteliste
Werteliste = 1000,99,8678,1,8
Die Zahlen sind dann die PK der Tabelle.
Dazu fällt mir die Frage ein muss die Werteliste Aufwärts sortiert sein??

Mit Gruß
HPB

mkinzler 28. Jan 2016 11:18

AW: SQL-Abfrage mehrere Datensätze
 
SQL-Code:
select
  *
from
  <Tabelle>
where
  <Feld> in (1000,99,8678,1,8);
Parametrisierbar ist dies nicht, man kann diese Abfarge aber manuell zusammenbauen.

Die Liste muss nicht sortiert sein.

HPB 28. Jan 2016 11:23

AW: SQL-Abfrage mehrere Datensätze
 
Zitat:

Zitat von mkinzler (Beitrag 1328612)
SQL-Code:
select
  *
from
  <Tabelle>
where
  <Feld> in (1000,99,8678,1,8);
Parametrisierbar ist dies nicht, man kann diese Abfarge aber manuell zusammenbauen.

Die Liste muss nicht sortiert sein.

Danke nochmals für Deine rasche Hilfe.
Nun ist mir das "Klar geworden".
Alles OK.

Mit Gruß
HPB


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz