Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mehrer Spalten in einer Ausgeben (https://www.delphipraxis.net/21057-mehrer-spalten-einer-ausgeben.html)

xavior 27. Apr 2004 14:14


Mehrer Spalten in einer Ausgeben
 
Hi! Ich hab folgendes Problem ich möchte in einer Datenbank einen bestimmten Eintrag suchen bei dem ein bestimmter Eintrag aus der anderen Tabelle ausgelesen wird, wo ein Zusammenhängender Key vorhanden ist, das heißt ich kann der Ordnungsnummer in Tabelle Betrieb mehrer Vorlieben zuweisen. Wenn jetzt wirklich der fall eintreten sollte dass mehrere Einträge vorhanden sind möchte ich die Einträge in einer Splate und durch ", " getrennt ausgeben lassen. Aber wenn ich jetzt z.B. 2 Einträge habe gibt mir SQL dann 2 Zeilen aus, wo eigetlich nur eine sein sollte! Ich wüsste auch nicht wo ich anfangen sollte!? Kann mir einer helfen?

SQL-Code:
SELECT b.Ordnungsnummer As "Nr.",
       b.Name As "Betrieb",
       b.Strasse As "Straße",
       b.Hausnummer As "Hausnr.",
       PLZ,
       b.Ort As "Ort",
       Vorlieben As "Vorlieben",
FROM Betrieb b, Standort, Betrieb_Vorl
WHERE Ordnungsnummer LIKE '1' AND Betrieb.PLZ = Standort.PLZ

alcaeus 27. Apr 2004 14:17

Re: Mehrer Spalten in einer Ausgeben
 
Moment...meinst du, du bekommst mehr Datenzeilen zurück? Das heißt, wenn es 3 Vorlieben gibt bekommst du 3 Datensätze?

xavior 27. Apr 2004 14:22

Re: Mehrer Spalten in einer Ausgeben
 
Ja genau! Bei 4 ... 4 usw. Dabei sind alle Zeilen gleich nur bei den Vorlieben ist es dann anders! Und das möchte ich ja nicht! Ich möchte dass alle Vorlieben in einem Datensatz stehen!

alcaeus 27. Apr 2004 14:26

Re: Mehrer Spalten in einer Ausgeben
 
Das geht soviel ich weiß nicht. Du musst es so machen:
Heraussuchen aller Datensätze, herausfinden der Anzahl.
Bei erstem Datensatz alle Felder setzen, bei nachfolgenden das Vorliebenfeld einfach an die entsprechende Variable anhängen. Ich denke das ist was du brauchst,oder? Wenn du willst stelle ich auch Code zusammen...

xavior 27. Apr 2004 14:28

Re: Mehrer Spalten in einer Ausgeben
 
Schade! Wärre nett wenn du das machen könntest! Danke

alcaeus 27. Apr 2004 14:39

Re: Mehrer Spalten in einer Ausgeben
 
Delphi-Quellcode:
Query1.SQL.Clear;
Query1.SQL.Add('SELECT Ordnungsnummer FROM Betrieb');
Query1.Open;
Query1.FetchAll;
for i := 1 to Query1.RecordCount do
begin
  Query1.RecNo := i;
  Query2.SQL.Clear;
  Query2.SQL.Add('SELECT b.Ordnungsnummer As "Nr.",'+
    'b.Name As "Betrieb",'+
    'b.Strasse As "Straße",'+
    'b.Hausnummer As "Hausnr.",'+
    'PLZ,'+
    'b.Ort As "Ort",'+
    'Vorlieben As "Vorlieben",'+
    'FROM Betrieb b, Standort, Betrieb_Vorl'+
    'WHERE Ordnungsnummer LIKE '+Query1.FieldByName('Ordnungsnummer').AsString+' AND Betrieb.PLZ = Standort.PLZ');
  Query2.Open;
  Query2.FetchAll;
  Vorlieben[i-1] := '';
  for j := 1 to Query2.RecordCount do
  begin
    //Andere Werte setzen
    Vorlieben := Vorlieben+', '+Query2.FieldByName('Vorlieben').AsString;
  end;
  Query2.Close;
  if Length(Vorlieben[i-1]) > 3 then
    Delete(Vorlieben[i-1],1,3);
end;
Query1.Close;
Ich hoffe du hast es so gemeint, nur mit SQL alleine kann man das glaub ich nicht lösen.

xavior 27. Apr 2004 14:43

Re: Mehrer Spalten in einer Ausgeben
 
Jo Danke! Ich guck mal wie ich das jetzt einsetze!


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 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