Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 13:55 Der er 11 kommentarer og
1 løsning

3 Tabeller i en Join Query plz Help.

U  = Users
FS = ForumSvar
FE = ForumEmail

                                  U.Email  (Det er mit OUTPUT)
                              |
                          |
                                  U.User_ID
                              |
                            /\
                                    /  \
                                  /    \
          FS ____________/      \______________ FE
            /                                  \
            /                                    \
                  |                                        |
    U.User_ID = FS.SvarAuthorUserID          U.User_ID = FE.EmnerAuthourUserID
    FS.Emailnotification = 1                FE.Emailnotification = 1
    FS.ParentEmne = %EMNE%                  FE.ID = %EMNE%


        %EMNE% er en variabel (Altså mit Input)


Hvordan skal MS SQL Qyeryen være for at jeg kan få den til at smide Email addresserne ud?
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:00 #1
Prøver lige igen!

U  = Users
FS = ForumSvar
FE = ForumEmail
                    U.Email  (Det er mit OUTPUT)
                        |
                        |
                    U.User_ID
                        |
                        /\
                      /  \
                      /    \
      FS ____________/      \______________ FE
        /                                  \
      /                                    \
      |                                    |
U.User_ID = FS.SvarAuthorUserID          U.User_ID = FE.EmnerAuthourUserID
FS.Emailnotification = 1                FE.Emailnotification = 1
FS.ParentEmne = %EMNE%                  FE.ID = %EMNE%

%EMNE% er en variabel (Altså mit Input)

Hvordan skal MS SQL Qyeryen være for at jeg kan få den til at smide Email addresserne ud?
Avatar billede proaccess Nybegynder
05. marts 2002 - 14:02 #2
Prøv at se om ikke dette kan gøre det...

SELECT DISTINCT U.Email FROM Users U, ForumSvar FS, ForumEmail FE WHERE U.User_ID=FS.SvarAuthorUserID AND FS:Emailnotification=1 AND FS:ParentEmne=%EMNE% AND U.User_ID=FE.EmnerAuthorUserID AND FE.Emailnotification=1 AND FE.ID=%EMNE%;

Dette gælder dog KUN hvis at det er et kriterie at UserID skal være i både FE og FS...
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:03 #3
Og igen!

U  = Users
FS = ForumSvar
FE = ForumEmail
                     U.Email  (Det er mit OUTPUT)
                         |
                         |
                     U.User_ID
                         |
                        /\
                       /  \
                      /    \
      FS ____________/      \______________ FE
        /                                  \
       /                                    \
       |                                     |
U.User_ID = FS.SvarAuthorUserID          U.User_ID = FE.EmnerAuthourUserID
FS.Emailnotification = 1                 FE.Emailnotification = 1
FS.ParentEmne = %EMNE%                   FE.ID = %EMNE%

%EMNE% er en variabel (Altså mit Input)

Hvordan skal MS SQL Qyeryen være for at jeg kan få den til at smide Email addresserne ud?
Avatar billede proaccess Nybegynder
05. marts 2002 - 14:03 #4
:'er skal selvfølgelig være .'er
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:08 #5
Sorry for min sidste kommentar.

Duer ikke den returnerer kun EN email addresse og det er ejerens.
Så mangler stadig alle Svarenes --> User --> Email
Avatar billede proaccess Nybegynder
05. marts 2002 - 14:09 #6
Hvis User skal være i enten FE eller FS, så prøv med nedenstående:

SELECT DISTINCT Users.Email FROM Users INNER JOIN ForumSvar ON Users.User_ID=ForumSvar.SvarAuthorUserID WHERE ForumSvar.Emailnotification=1 AND ForumSvar.ParantEmne=%EMNE% UNION SELECT Users.Email FROM Users INNER JOIN ForumEmail ON Users.User_ID=ForumEMail.EmneAuthorUserID AND ForumEmail.Emailnotification=1 AND ForumEmail.ID=%EMNE%;
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:19 #7
Så ville den se sådant ud:
SELECT DISTINCT Users.Email
FROM        Users INNER JOIN
                      ForumSvar ON Users.User_ID = ForumSvar.SvarAuthorUserID
WHERE    ForumSvar.Emailnotification = 1 AND ForumSvar.ParantEmne = 29
UNION
SELECT    Users.Email
FROM        Users INNER JOIN
                      ForumEmner ON Users.User_ID = ForumEmner.EmneAuthorUserID AND ForumEmner.Emailnotification = 1 AND ForumEmner.ID = 29

Men jeg får denne kommentar fra min EnterPrise Manager:
  The Query Designer does not support the UNION SQL construct.

???
Avatar billede proaccess Nybegynder
05. marts 2002 - 14:24 #8
Det MÅ da for pokker være muligt at få MS SQL til at lave en UNION forespørgsel...

Du vil altså have udvalgt e-mail for alle usere, som er enten i FE eller i FS.
Altså er vejen vist, nu er det op til dig at finde den korrekte syntax.
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 14:29 #9
Hehe....

Ja jeg giver dig ret i begge dele, men det er nu første gang at jeg leget med UNION queries, så en smule hjælp ville ikke være afvejen.
Avatar billede tbm_iceman Nybegynder
05. marts 2002 - 17:35 #10
Ok jeg har fået det til at virke nu....

Hvis du lige opretter et svar så skal du få pointene.
Avatar billede proaccess Nybegynder
06. marts 2002 - 07:24 #11
Takker ;-)

Grunden til at jeg trak mig lidt tilbage, var at jeg ikke har MS SQL, og derfor ikke kan gå "helt" ind i dette programs syntax. Det er bare godt du fik det til at virke...
Avatar billede tbm_iceman Nybegynder
08. marts 2002 - 12:20 #12
Helt iorden.

Så har jeg oxo lært noget selv jo.
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