webForumDet fria alternativet

Lägga ihop flera SQL-frågor

5 svar · 324 visningar · startad av Melea

MeleaMedlem sedan juli 20033 147 inlägg
#1

Hejsan!

Jag har just lärt mig JOIN och lite andra SQL-basic saker.
Skulle dock behöva hjälp, för att förstå hur man ska göra, med en SQL-fråga.

Såhär ser det ut nu:

SELECT * FROM forum

Och

SELECT * FROM forummoderator INNER JOIN member ON member.ID = forummoderator.UserID WHERE forummoderator.ForumID = 1

Den övre SQL frågan loopar ut alla poster som finns i tabellen forum med while {}.
Den undre ligger inuti den första loopen och kollar vilka som är moderatorer för just detta forum.
Kan man slå ihop dessa på något sett och isåfall hur?

Tack på förhand

CokeLightMedlem sedan juni 2000504 inlägg
#2

hej.. jag är nybörjare också, o har kanske missuppfattat.. : ) men kanske det kan vara enklare om man lägger in en kolumn i forum som heter forummoderator_ID och bara lägger till en inner join till..?

SELECT * FROM forummoderator
INNER JOIN member ON member.ID = forummoderator.UserID
INNER JOIN forum ON forummoderator.UserID = forum.forummoderator_ID
WHERE forummoderator.ForumID = 1

eller nåt sånt.. så behöver man inte ha inre loop o grejer..? hehe.. eller jag kanske är ute o cyklar.. : )

MeleaMedlem sedan juli 20033 147 inlägg
#3

Nej, eftersom då kan man inte ha fler än 1 moderator per forum, om man då inte använder sig av explode(); eller dyl. för att plocka ut flera värden, vilket jag inte vill jag inte vill.

Tack för svaret ändå! :)

MeleaMedlem sedan juli 20033 147 inlägg
#4

Ojsan, jag hade visst tänkt fel jag själv.

Som det är nu måste jag ha en loop inuti loopen som listar alla forum för att få fram alla moderatorer för just det forumet.
Kan man lösa det på något smidigare sätt? Hur han ni gjort här på wF? Har ni en loop i en loop?

magnusfernstromMedlem sedan mars 20033 686 inlägg
#5

Jag är lite snurrig, men jag hade gjort såhär.

En tabell med följande fält:
- Adminwho
- Adminforum

Samt en tabell där du har alla forumkategorier

När du är i ett forum hämtar du, genom en SQL-sats, alla admins med samma värde som querystringen.

Ponera att följande är admins:
Magnus - 1
Melea - 2

Där siffrorna står för vilket forumID vi är moderatorer för.

På forumsidan borde något följande fungera:

SELECT * FROM admin WHERE forumID = " & Request.Querystring("categoryID") & ""

Eller missuppfattade även jag din fråga? :)

LarsGMedlem sedan dec. 200012 464 inlägg
#6
  1. Beskriv hur tabellerna är definierade
  2. Ge exempel på datainnehåll
  3. Visa vilket resultat du vill ha
124 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)