maier m. Geschrieben 15. September 2004 Teilen Geschrieben 15. September 2004 Hallo Leute, ich bin auf der Suche nach einer Möglichkeit das Ergebnis einer Abfrage, die sich auf eine Spalte begrenzt, in einer Zelle anzeigen zu lassen. Ein Beispiel: Ich lasse mir alle Personen-Namen der Tabelle Mitarbeiter anzeigen. Select Personen-Namen from Mitarbeiter Das Ergebnis soll nicht wie gewöhnlich so aussehen: maier müller steiner Sondern so: maier,müller,steiner ich hoffe ihr könnt mir weiterhelfen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 15. September 2004 Teilen Geschrieben 15. September 2004 Was du tun willst betrifft ja eher die Ausgabe/Anzeige des Ergebnisses. also mach es doch mit dem Programm (oder was du benutzt) und stell das dort so da. Weiis ja nicht was du nutzt, aber es ist kein Problem sowas zu tun. In der SQL Abfrage selber ist das nicht (naja, nciht ohne riesen Aufwand) möglich. Grund: Das Ergebniss der Abfrage zeigt dir alle Datensätze an, die zu deiner Abfrage passen. Dabei wird jedes Feld einzeln dargestellt und für jeden Satz eine neue Zeile angefangen. Das ganze würde theoretisch auch vertikal gehen (also um 90° nach links gedreht). Das ist aber unübersichtlicher und die Tabellen anzeige hat sich einfach eingebürgert. Dein Fall ist ein recht spezieller, von daher würde ich sagen eine fertige Lösung gibt es nicht irgendwo (ok, vielleicht hat es schonmal jemand gemacht...). Wie gesagt, du stellst das Ergebniss ja irgendwo dar, und damit (ich gehe von einer Programmiersprache aus) kannst du das ohne Probleme so umwandeln. EDIT: kleines Beispiel (mit Delphi): var Output: String; [...] qry.CommandText:= 'SELECT NAME FROM Tabelle1'; qry.Open; Output:= ''; while not qry.EOF do begin Output:= Output + qry.Fields[0].asString; qry.next; if not qry.EOF then Output:= Output + ', '; end; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maier m. Geschrieben 15. September 2004 Autor Teilen Geschrieben 15. September 2004 es sollte schon mit sql gelöst werden. mit der anweisung concat ist es ja auch möglich spalten im ergebnis zusammen zu fassen, leider muss ich zeilen zusammen fassen. vielleicht kennt ja jemand doch was! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. September 2004 Teilen Geschrieben 15. September 2004 Ich weiss ja nicht mit welchem DBMS du arbeitest, aber es sollte wohl ,falls vorhanden, ueber einen Cursor geloest werden koennen. Das verlangsamt zwar deine Abfrage nicht gerade wenig, aber du hast es ja so gewollt Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 16. September 2004 Teilen Geschrieben 16. September 2004 mit der anweisung concat ist es ja auch möglich spalten im ergebnis zusammen zu fassen, Ja, das ist möglich, weil die Abfrage eben satzweise Aufgebaut ist. Der Satzzeiger befindet sich immer genau auf einem Satz, innerhalb dieses Satzes hast du alle Felder in deinem Zugriff. Sobald der Satz aber gewechselt wird, steht nur noch der neue zur Verfügung. eine Idee (keine Ahnung ob oder wie es gehen könnte) wären die UserVariablen in MySQL (vielleicht gibt es sowas auch bei anderen Systemen). Ansonsten über SQL... mal so als unflexibles Beispiel: Tabelle1 Index Name 1 Mueller 2 Meier 3 Schmidt SELECT Name || ', ' || (SELECT NAME FROM Tabelle1 WHERE Index = 2) || ', ' || (SELECT NAME FROM Tabelle1 WHERE Index = 3) WHERE Index = 1 Mueller, Meier, Schmidt Hab das nicht probiert, aber so in der Art sollte das dann aussehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.