Zum Inhalt springen

Abfrageergebnis in einer Zelle anzeigen


maier m.

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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;

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...