webForumDet fria alternativet

SQL med IF statement?

1 svar · 243 visningar · startad av SteveP

StevePMedlem sedan mars 2003772 inlägg
#1

Hej,

Jag är ute efter att göra en SQL select med If statement eller liknande om det går?

Jag har ett x antal "contacts" som har flera olika "address_type" och dessa kan vara "mail_address", "visit_address", "delivery_address"

Mitt sql statement ska selectera på följande vis:

Om en contact har "mail_address" så ska den väljas, finns det ej någon "mail_address" så ska den kolla ifall personen har en "delivery_address" och isf så ska den väljas, om varken "mail_address" eller "delivery_address" finns så skall till sist "visit_address" väljas.

prioriteringsordningen är alltså:
1. mail_address
2. delivery_address
3. visit_address

Viktigt är att en person inte blir selectad 3 gånger bara för den har alla tre typer av adresser, det ska bara vara 1 record per contact och där mail_address väljs om den finns, annars delivery_address och till sist visit_address om bara den finns.

Nån som kan hjälpa mig på traven?

ObbelixMedlem sedan okt. 2002257 inlägg
#2

Följande fråga returnerar första icke-NULL värde av fälten mail_address, delivery.....

SELECT COALESCE(mail_address,delivery_address,visit_address) AS contact_address FROM contacts....
127 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)