AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Spalten in MySQL "verschmolzen" ausgeben
Thema durchsuchen
Ansicht
Themen-Optionen

Spalten in MySQL "verschmolzen" ausgeben

Ein Thema von Angel4585 · begonnen am 19. Mai 2006 · letzter Beitrag vom 19. Mai 2006
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 09:08
Datenbank: MySQl • Version: 5 • Zugriff über: ZEOS
Hallo zusammen,

folgendes Problem:

ich habe eine Tabelle

SQL-Code:

CREATE TABLE IF NOT EXISTS Tabellenname(
ID INT NOT NULL AUTO_INCREMENT,
Vorname VARCHAR(40),
Nachname VARCHAR(40),
PRIMARY KEY(ID)
);
jetzt möchte ich mir die Felder "Vorname" und "Nachname" , quasi "verschmolzen" ausgeben,

also es sollte ungefähr so aussehen:

"Mustermann, Max"
"Musterfrau, Andrea"

Ich dachte da an etwas wie

SELCET ID,(Nachname+", "+ Vorname)VorNach FROM Tabellenname gibt es soetwas für SQL?

MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Spalten mit MySQL "verschmelzen"

  Alt 19. Mai 2006, 09:10
Hol dir doch normal mit dem SELECT die Spalten und formatiere erst später die Ausgabe, so wie du sie willst. Das ist sinnvoller, als dass, was du willst.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
drschubi

Registriert seit: 18. Dez 2003
94 Beiträge
 
#3

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 09:30
Hi Martin,

wohin sollen denn die Daten ausgegeben werden?

Gruss Ren
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 09:33
ähm, habs schon so gemacht wie ich will, bin grad über den Befehl "CONCAT" gestolpert, das sieht jetzt so aus:

SELECT ID, (CONCAT(TRIM(Nachname), ", ", TRIM(Vorname)))VorNach FROM Tabellenname trotzdem Danke

@roter Kasten(drschubi): das "verschmolzene soll in einem DBText ausgegeben weren, aber wie gesagt, ich habs jetzt schon
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 10:50
Hallo Martin,

auch wenn du es schon hinbekommen hast: da du in deinem DDL Statement keine NOT NULL Klausel verwendet hast, könnte eine der beiden Spalten NULL sein:

SELECT CONCAT(nachname, IF(vorname IS NULL, '', CONCAT(', ', vorname))) AS name ... Grüße vom marabu
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 11:02
Jupp, hab ich eben gemerkt, meins sieht jetzt so aus:

SELECT ID, ( CONCAT( TRIM( IFNULL(Vorname,""),", ", IFNULL(Nachname,""))))VorNach FROM Tabellenname

Edit: Das Syntaxhighlightning für SQL sollte auch mal überarbeitet werden
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 11:06
Wenn du systematisch testest, dann wirst du dein Statement sicher noch weiter verfeinern. Aber warum verwendest du nicht einfach die NOT NULL Klausel - zumindest beim Nachnamen?

marabu
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 11:10
du meinst beim erzeugen?

Naja wenn ich das beim erzeugen angebe, kommt beim Anlegen bzw. Abspeichern die Meldung das das Feld einen Wert haben muss, was auf die Dauer ziemlich nervig ist. Also es besteht kein Zwang da etwas hineinzuschreiben
Allerdings könnte ich vielleicht den Defaultwert auf "" setzen oder so, aber ob das etwas bringt.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Spalten in MySQL "verschmolzen" ausgeben

  Alt 19. Mai 2006, 11:33
So.. weiter verfeinere ich das jetzt aber nich :

SQL-Code:
SELECT ID,
CASE
WHEN (Nachname IS NOT NULL)AND(Vorname IS NOT NULL) THEN CONCAT(TRIM(Nachname), ", ", TRIM(Vorname))
WHEN Nachname IS NOT NULL THEN TRIM(Nachname)
WHEN Vorname IS NOT NULL THEN TRIM(Vorname)
ELSE "Kein Name eingetragen" END VorNach FROM Tabellenname
Martin Weber
Ich bin ein Rüsselmops
  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 18:57 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