webForumDet fria alternativet
Logga in / Bli medlem

SQL med IF statement?

Databaser & SQL

1 svar · 243 visningar · startad av SteveP

Medlem sedan mars 2003772 inlägg
Frågan#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?

Medlem 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....
498 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
175 ms — deklarationer (db)
123 ms — hämta statistik (db)
189 ms — hämta tråd, inlägg och bilagor (db)
183 ms — ändringar (db)