Gå til innhold

Anbefalte innlegg

Hei!

Jeg har et problem med en SQL.

 

Problemet er å velge ut unike e-postadresser på kunder. I utgangspunktet kunne dette vært løst med select distinc, MEN, porblemet er at e-postadressen kan forekomme flere ganger på forskjellige kundenummer.

 

Så poblem 1:

Tabellen med kontaktinfo ser slik ut.

+---------+--------------
| kundenr | epost
+---------+--------------
|       1 | [email protected]
|       2 | [email protected]
|       3 | [email protected]
|       4 | [email protected]
+---------+--------------

 

Select distinct epost from kontaktinfo

Gir meg da 3 unike e-postadresser

 

Men, jeg er avhengig å ha med kundenummer, og da returnerer ikke spørringen 3 forskjellige e-postadresser, men alle hvor [email protected] kommer to ganger siden kundenr er forskjellig.

 

Så denne spørringen fungerer ikke:

Select distinct epost, kundenr from kontaktinfo

 

Kan noen hjelpe meg?

 

 

 

For å gjøre det hele verre finnet det også et problem 2.

Spørringen over skal joines med en annen tabell, som avgjør om kunden er gyldig eller ikke.

 

kundeStatus tabellen ser slik ut:

+---------+--------------
| kundenr | statur
+---------+--------------
|       1 | gyldig
|       2 | gyldig
|       3 | gyldig
|       4 | ugyldig
+---------+--------------

 

Så det jeg trenger er unike e-postadresser fra kontaktinfo tabellen, joinet med kundestatus som sjekker at kunden er gyldig.

 

 

 

 

Takknemmelig om noen kan hjelpe meg en en av disse problemstillingene!

Lenke til kommentar
Videoannonse
Annonse

Du vil ha distinct email adresse, men så vil du plutselig ha med kundenummer også? Hvilket kundenummer er det du vil ha hvis to kunder med samme emailadresse begge er gyldige?

 

Jeg tror du må omformulere spørsmålet ditt. Jeg gjetter at du vil ha alle distincte emailadresser til gyldige kunder, eller?

Endret av kaffenils
Lenke til kommentar

Jeg ser for meg at det er feil at to forskjellige kunder skal ha samme email-adresse. Skal det være meningen at jeg kan registrere meg med din epost? Mer riktig tror jeg det hadde vært å definere feltet som unique.

 

Spørringen kan se slik ut:

SELECT kundenr, epost, statur

FROM kontaktinfo

WHERE kontaktinfo.kundenr=kundeStatus.kundenr

 

Da vil du få dette i resultat:

1 - [email protected] - gyldig

2 - [email protected] - gyldig

3 - [email protected] - gyldig

4 - [email protected] - ugyldig

 

Eller er målet å kun få ut de som har gyldig status? Isåfall er det vel bare å legge til WHERE statur LIKE 'gyldig'.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...