SQL: Wort vorne eingefuegt

M

miki77

Gast
Hallo,

ich habe solche eine Tabelle

Vor_oder_NachName ---- ganzer Name
---------------------------------------
Mueller --- Mike Mueller
Fritz --- Fritz Meyer
Schmidt --- Ralf Schmidt
Martin --- Martin Tannenberg

Mit welchem SQL-Befehl finde ich nun heraus, dass nur bei den Nachnamen vorne ein Vorname zugefügt worden ist, also aus
Mueller --> Mike Mueller
Schmidt --> Ralf Schmidt

Der umgekehrte Fall, dass den Vornamen hinten ein Nachname zugefügt worden, interessiert nicht

Danke
 

Final_Striker

Top Contributor
Meiner Meinung nach gar nicht.
Ich denke du musst:
- Vor_oder_NachName und ganzer_Name auslesen
- ganzer_Name auswerten
- Vor_oder_NachName ändern
 
M

miki76

Gast
mit welchem sql-Statement finde ich diejenigen Datensätze heraus, bei denen ein Vorname hinzugefügt worden ist?
 

Atze

Top Contributor
wie willst du denn unterscheiden, ob dem vornamen ein nachname oder dem nachnamen ein vorname hinzugefügt worden ist? das ginge ja nur mit der art versionierung, und du vergleichst die tabelle vor und nach dem ändern. oder check ich was nicht? ansonsten kannst du wohl nur erkennen, dass ein leerzeichen vorhanden ist, dann müssten ja vor-und nachname vorhanden sein. außer natürlich bei zweiten vornamen.

ansonsten versteh ich net, was er will.
 
M

miki777

Gast
ich dachte zuerst an so was

select *
from meineTabelle
where substr(ganzerName, - length (vor_oder_Nachme), length(vor_oder_Nachme) = vor_oder_Name

kommt aber nicht das heraqus was ich will
 

vladimir75

Bekanntes Mitglied
SQL:
select * from meineTabelle
         where substr(ganzerName, length(vor_oder_Nachme)+2, length(vor_oder_Nachme))=vor_oder_Nachme

SQL:
select * from meineTabelle
         where instr(ganzerName,vor_oder_Nachme,length(vor_oder_Nachme)+2,1)>0

SQL:
select *
from meineTabelle
where substr(ganzerName, - (length (vor_oder_Nachme)+2), length(vor_oder_Nachme)) = vor_oder_Name

Vladimir
 

Tharsonius

Bekanntes Mitglied
In einer Datenbank speichert man Vorname und Nachname getrennt und dafür den kompletten Namen normalerweise gar nicht.

Ich empfehle Dir dringend Deine Datenbank dahingehend abzuändern und Dich mit der Thematik Normalisierung auseinander zu setzen, wie bereits von ice-breaker vorgeschlagen.

Dazu würde ich eine Spalte Vorname und eine Spalte Nachname anlegen und dann ein kleines Programm einmal drüber laufen lassen, was den Kompletten Namen liest, am Leerzeichen trennt und dann das ganze getrennt in die neuen Spalten schreibt.
Danach kannst Du das ganz bequem per SQL abfragen.
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben