Permalänk
Medlem

SQL fråga

Har en tabell innehållandes 800 kunder som alla ligger i samma tabell och vill selektera ut enligt vissa kriterier:

A)
Jag vill bara få ut alla som har ett namn som innehåller And* samt ett till som slutar på *sson.

Skulle alltså få träffar på exempelvis Andre Svensson, Anders Göransson m.m

B) Vissa har kanske tre namn, då skulle jag vilja få ut de som uppfyller kravet i A men även har ett namn som innehåller *edin

Ex: Vill ha ut alla som heter Anders Göransson Vedin
Men vill _inte_ ha ut de som heter Anders Göransson Enberg

Har alltså dessa två grupper jag vill kunna få fram. Har ni någon idé? Kan inte köra NOT in ( ) då det är så många som jag i så fall skulle behöva ange.

Eller behöver man köra två select frågor och sedan tvätta de mot varandra så man får bort dubletterna?

Mvh / Daniel

Ser inte ut så här riktigt, men ett exempel kanske kan vara

select c.name
from customers c,
customers c_extra,
customers c_or
where c.name LIKE 'And%'
and c_extra.name LIKE '%sson'
OR c_or.name LIKE '%edin'

Permalänk
Medlem

detta kanske funkar?

SELECT c.name FROM customers c WHERE c.name LIKE 'And% %sson' OR c.name LIKE 'And% %sson %edin'

Visa signatur

as far as we can tell, the massacre went well...