Avatar billede tbm_iceman Nybegynder
01. marts 2002 - 13:18 Der er 10 kommentarer og
1 løsning

Eliminer Dubletter i join query.

SELECT DISTINCT U.Email, U.User_ID, U.Username, FS.Svar_ID, FS.Topic FROM Users U, ForumSvar FS WHERE FS.SvarAuthorUserID=U.User_ID AND FS.EmailNotification=1 AND FS.ParentEmne=22

Ok det jeg skal lave er en mail sender der sender mails til alle dem der har skrevet i et forum og som har aktiveret EmailNotification.
Men den skal kun sende en EMAIL til personen, ikke en for hver post han har indsendt. (Hvis i forstår.)

Det jeg har lavet er en søgning hvor den finder alle de svar i et forum som der er og derefter finder svarenes ejeres EMAIL addresser, og det er her at jeg har prøvet med distinct for at undgå dubletter, men det virker bare ikke.

Jeg skal bruge den korrekte SQL string til at finde email addresserne men kun en fra hver bruger. Plz Help!
Avatar billede tbm_iceman Nybegynder
01. marts 2002 - 13:22 #1
Jeg har lige lavet denne der virker:

SELECT DISTINCT U.Email FROM Users U, ForumSvar FS WHERE FS.SvarAuthorUserID=U.User_ID AND FS.EmailNotification=1 AND FS.ParentEmne=22

Men er det den eneste måde på det, hvor man laver 2 søgninger
Avatar billede proaccess Nybegynder
01. marts 2002 - 13:24 #2
SELECT DISTINCT U.Email, U.User_ID, U.Username FROM Users U, ForumSvar FS WHERE FS.SvarAuthorUserID=U.User_ID AND FS.EmailNotification=1 AND FS.ParentEmne=22

Altså drop udvalg af attributter fra FS...
Avatar billede bennytordrup Nybegynder
01. marts 2002 - 13:25 #3
select distinct u.email
from users u inner join forumsvar fs on u.user_id=fs.svarauthoruserid
where fs.emailnitification=1 and fs.parentemne=22
Avatar billede bennytordrup Nybegynder
01. marts 2002 - 13:25 #4
Forkert tryk
Avatar billede proaccess Nybegynder
01. marts 2002 - 13:26 #5
Du kan også bruge INNER JOIN...

SELECT DISTINCT U.Email, U.User_ID, U.Username FROM Users U INNER JOIN ForumSvar FS ON U.User_ID=FS.SvarAuthorUserID WHERE FS.EmailNotification=1 AND FS.ParentEmne=22
Avatar billede tbm_iceman Nybegynder
01. marts 2002 - 13:48 #6
hmm men det er altså ikke muligt at lave alt i en query?
Avatar billede proaccess Nybegynder
01. marts 2002 - 13:53 #7
ALT ??

Det, du mangler i ovenstående SQL, er info fra ForumSvar tabellen, som jo indeholder MANGE (går jeg ud fra) rækker pr User_ID... Hvilken af disse rækker vil du trække ud sammen med den ENE e-mail...?
Avatar billede proaccess Nybegynder
01. marts 2002 - 13:55 #8
Du kan evt. prøve med denne:

SELECT DISTINCT U.Email, U.User_ID, U.Username, First(FS.Svar_ID) AS SvarID, First(FS.Topic) AS Topi FROM Users U, ForumSvar FS WHERE FS.SvarAuthorUserID=U.User_ID AND FS.EmailNotification=1 AND FS.ParentEmne=22
Avatar billede proaccess Nybegynder
01. marts 2002 - 13:56 #9
Hov det var LIDT for hurtigt....

SELECT DISTINCT U.Email, U.User_ID, U.Username, First(FS.Svar_ID) AS SvarID, First(FS.Topic) AS Topi FROM Users U, ForumSvar FS GROUP BY U.Email, U.User_ID, U.Username WHERE FS.SvarAuthorUserID=U.User_ID AND FS.EmailNotification=1 AND FS.ParentEmne=22
Avatar billede bennytordrup Nybegynder
01. marts 2002 - 13:57 #10
Eller bruge Count(FS.Svar_ID), hvis det er antallet, der skal bruges.

Hvad info skal bruges?
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:15 #11
Jeg har selv løst dette problem ud fra min første kommentar.

Men jeg har et nyt problem nu.

Kom og hjælp mig:

http://www.eksperten.dk/spm/181179/
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester