Har ett fält FörNamn och EfterNamn Pröva det här: Tack Håkan Hej,Lurig SQL fråga
Skulle vilja göra en SELECT och söka på båda fälten
T.ex
Leif Göransson
Göran Leifsson
Sven Sevensson
Söker jag på Göran så vill jag få upp båda posterna.
Men frågan är vad händer med den 3:e posten
om jag skriver sven i @parmNamnSv: Lurig SQL fråga
<code>
SELECT *
FROM [din tabell]
WHERE ((FörNamn LIKE (@parmNamn + '%')) OR (EfterNamn LIKE (@parmNamn + '%')));
</code>
Nu får du träff på alla för och efternamn som börjar t.ex med "Göran".
Skriver du in Sven så får du träff på sista posten.
Vill du att frågan också ska hitta namn som innehåller "Göran" någonstans (inte bara i början av namnet alltså), gör du så här:
<code>
SELECT *
FROM [din tabell]
WHERE ((FörNamn LIKE ('%' + @parmNamn + '%')) OR (EfterNamn LIKE ('%' + @parmNamn + '%')))
</code>Sv:Lurig SQL fråga
fungerar perfekt som alltid.
Har en fråga till:
Om man skickar in t.ex gert lind eller Lindholm Gert
så vill man få tag i posten.
Hur brukar man göra då?
Gör man en substring skillt på mellanslag eller?Sv: Lurig SQL fråga
Bra att det fungerade.
Angående det andra som du frågade om så fungerar SUBSTRING() bra för att splitta upp strängen.
Men jag jag funderar på om du alltid vet vilken ordning som namnen kommer?
D.v.s förnamn->efternamn eller efternamn->förnamn?
Sedan kanske det kan förekomma fler mellanslag vid t.ex. dubbelnamn.
Ex. Karlsson Pettersson Anders, eller två förnamn Lars Peter Svensson.
Saker som påverkar hur lösningen görs.