webForumDet fria alternativet

Funkar detta.. 3+2 tabeller.. 1 sql fråga?

Databaser & SQLur Databashanterare & SQL

2 svar · 322 visningar · startad av UrMe

UrMeMedlem sedan apr. 2001762 inlägg
#1

Jag håller på att göra ett nyhetsbrev admin system eller nåt.. där man ska kunna skicka nyhetsbrev.

Jag har 3 huvudtabeller. Grupper, Emails, Nyhetsbrev.
Sedan har jag 2 till tabeller.
Här är en länk hur tabellerna är uppbyggda: https://www.urme.com/tabeller.html

Varje email tillhör en eller flera grupper.
Varje nyhetsbrev är länkad till en eller flera grupper.
Krångligt att förklara :)

Så när man ska skicka nyhetsbrevet tittar den på ID numret för brevet. Går in i tabellen "nyhetsbrev_grupp" hämtar vilka grupp_id:n den ska skicka till. Tar de grupp_id:na tittar i tabellen "email_grupp" och hämtar ut email_id. För att slutligen hämta emailadressen i tabellen emails.

T.ex vi ska skicka nyhetsbrev med ID = 2.
Tittar i nyhetsbrev_grupp vilka grupper brev_id = 2 tillhör. Där ser man att grupp_id 1 och 2 tillhör brev_id = 2.

Så med grupp_id 1 och 2 tittar man i tabellen email_grupper och hämtar email_id. Där ser vi att email_id = 1 och email_id = 2 har grupp_id 1 eller 2.

Och hämta emailadresserna för email_id 1 och 2 i tabellen emails.

Så min fråga.. :) Hur skriver jag 1-2 SQL frågor för att hämta ut vilka emailadresser som nyhetsbrevet ska skickas till om indatan är ID på nyhetsbrevet?

Rätt krångligt va? :)

sankeMedlem sedan feb. 200327 inlägg
#2

Den här borde funka...

Select * FROM nyhetsbrev
INNER JOIN nyhetsbrev_grupp ON nyhetsbrev_grupp.brev_id=nyhetsbrev.brev_id
INNER JOIN grupper ON grupper.grupp_id=nyhetsbrev_grupp.grupp_id
INNER JOIN email_grupp ON email_grupp.grupp_id=grupper.grupp_id
INNER JOIN emails ON emails.email_id=email_grupp-email_id
WHERE nyhetsbrev.brev_id='3';

UrMeMedlem sedan apr. 2001762 inlägg
#3

Tackar det funkar perfekt!

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)