AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mehrer Spalten in einer Ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrer Spalten in einer Ausgeben

Ein Thema von xavior · begonnen am 27. Apr 2004 · letzter Beitrag vom 27. Apr 2004
Antwort Antwort
xavior

Registriert seit: 1. Dez 2003
Ort: Wuppertal
91 Beiträge
 
Delphi 6 Enterprise
 
#1

Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:14
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 '1AND Betrieb.PLZ = Standort.PLZ
Wie jetzt ... ?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:17
Moment...meinst du, du bekommst mehr Datenzeilen zurück? Das heißt, wenn es 3 Vorlieben gibt bekommst du 3 Datensätze?
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
xavior

Registriert seit: 1. Dez 2003
Ort: Wuppertal
91 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:22
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!
Wie jetzt ... ?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:26
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...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
xavior

Registriert seit: 1. Dez 2003
Ort: Wuppertal
91 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:28
Schade! Wärre nett wenn du das machen könntest! Danke
Wie jetzt ... ?
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:39
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.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
xavior

Registriert seit: 1. Dez 2003
Ort: Wuppertal
91 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Mehrer Spalten in einer Ausgeben

  Alt 27. Apr 2004, 15:43
Jo Danke! Ich guck mal wie ich das jetzt einsetze!
Wie jetzt ... ?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 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