Clevere Suche nach Vor- und Nachname

24/12/2008 - 21:23 von OskarThales | Report spam
Salü alle zusammen

In einer Datenbank habe ich in der tblAdresse die folgeden Felder:

fldID (Autowert)
fldVorname (Text)
fldNachname (Text)

Jetzt bekomme ich ein String geliefert, strSuchfeld welches einen
Vornamen und einen Nachnamen beinhaltet. Ich weiss aber nicht ob es
zuerst der Vor und dann der Nachname ist oder umgekehrt. Es könnte
also genauso "Hans Muster" als auch "Muster Hans" sein.

Wie suche ich jetzt nach der ID so dass ich die ID in jedem Fall
bekomme auch wenn Name und Vorname verkehrt sind?

Vielen Dank für Hinweise
Gruss Oskar
 

Lesen sie die antworten

#1 Uwe Ricken
25/12/2008 - 10:19 | Warnen spam
Hallo Oskar,

Hier mal ein Beispiel (aus dem Arm geschüttelt also bitte noch testen!)

USE tempdb

GO

CREATE TABLE dbo.Test

(

Id int NOT NULL IDENTITY(1, 1),

Vorname varchar(100) NOT NULL,

Nachname varchar(100) NOT NULL,

CONSTRAINT pk_Test PRIMARY KEY (Id)

)

GO

CREATE INDEX Vorname ON dbo.Test (Vorname)

CREATE INDEX Nachname ON dbo.Test (Nachname)


INSERT INTO dbo.Test

(Vorname, Nachname)

SELECT 'Uwe', 'Ricken'

UNION

SELECT 'Beate', 'Ricken'

UNION

SELECT 'Klaus', 'Winters'

UNION

SELECT 'Michael', 'Müller'

SELECT * FROM dbo.Test


DECLARE @Vorname varchar(100)

DECLARE @Nachname varchar(100)

SET @Vorname = 'Ricken'

SET @Nachname = 'Uwe'


SELECT TOP 1 *

FROM dbo.Test

WHERE (

Vorname = @Vorname OR

Nachname = @Vorname

) AND

(

Vorname = @Nachname OR

Nachname = @Nachname

)


SET @Vorname = 'Uwe'

SET @Nachname = 'Ricken'

SELECT TOP 1 *

FROM dbo.Test

WHERE (

Vorname = @Vorname OR

Nachname = @Vorname

) AND

(

Vorname = @Nachname OR

Nachname = @Nachname

)



DROP TABLE dbo.Test

HTH und schöne Weihnacht!


Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

db-Berater GmbH - 64390 Erzhausen
http://www.db-berater.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm

schrieb im Newsbeitrag
news:
Salü alle zusammen

In einer Datenbank habe ich in der tblAdresse die folgeden Felder:

fldID (Autowert)
fldVorname (Text)
fldNachname (Text)

Jetzt bekomme ich ein String geliefert, strSuchfeld welches einen
Vornamen und einen Nachnamen beinhaltet. Ich weiss aber nicht ob es
zuerst der Vor und dann der Nachname ist oder umgekehrt. Es könnte
also genauso "Hans Muster" als auch "Muster Hans" sein.

Wie suche ich jetzt nach der ID so dass ich die ID in jedem Fall
bekomme auch wenn Name und Vorname verkehrt sind?

Vielen Dank für Hinweise
Gruss Oskar

Ähnliche fragen