dabMedlem sedan apr. 2001109 inlägg Hej
Jag skulle behöva ha en query med 3 tabeller till ett forumindex (skriva ut forumkategorier).
Såhär skulle jag vilja ha det:
1. Hämta ut all info ifrån forumCat
2. Hämta ut user_id och user_username för varje row där forumCat.catModerator1 = users.user_id (och samma med catModerator2)
3. Hämta ut all info i forumNewcat för varje row där forumCat.catId = forumNewcat.newcatCat och där forumNewcat.newcatUser = $login->userId.
forumCat
---------
catId
catName
catDesc
catType
catModerator1
catModerator2
users
-----
user_id
user_username
forumNewcat
-----------
newcatId
newcatUser
newcatCat
Jättetacksam för svar...
/mvh dab
LarsGMedlem sedan dec. 200012 464 inlägg $q = "select catId, catName, catDesc, catType,
m1.user_username as moderator1 , m2.user_username as moderator2
from forumNewcat join forumCat on newCatid = catId
left join users m1 on catModerator1 = m1.user_id
left join users m2 on catModerator2 = m2.user_id
where newcatUser = " . $login->userId;
Du nämner inte vad newcatUser är för datatyp så du behöver eventuellt ändra där.
dabMedlem sedan apr. 2001109 inlägg Tack så mycket för svaret, jag inser nu att jag förklarat lite dåligt vad det är jag vill ha.
Denna kod:
SELECT catId, catName, catDesc, catType, asfd,
m1.user_username as moderator1, m2.user_username as moderator2
FROM forumCat
left join users m1 on catModerator1 = m1.user_id
left join users m2 on catModerator2 = m2.user_id
Producerar detta resultat:
catId catName catDesc catType moderator1 moderator2
2 Kategori1 Desc1 1 NULL iffe
3 Kategori2 Desc2 2 dab Individen
Men nu vill jag även ha in en tabell till, gärna såhär:
catId catName catDesc catType moderator1 moderator2 newCategory
där newCategory är lika med 1 eller 0 beroende på om det finns en rad att jämföra med.
alltså:
WHERE catId = newCatCat AND newCatUser = $login->userId
Om where blir sann så ska newCategory innehålla 1 om inte 0.
Är detta möjligt att göra?
/mvh dab
LarsGMedlem sedan dec. 200012 464 inlägg Jo
$q =
"select catId, catName, catDesc, catType,
m1.user_username as moderator1 ,
m2.user_username as moderator2,
case when newcatid is null then 0 else 1 end
from forumCat left join forumNewcat
on newCatid = catId
and newcatUser = " . $login->userId .
" left join users m1
on catModerator1 = m1.user_id
left join users m2
on catModerator2 = m2.user_id ";
dabMedlem sedan apr. 2001109 inlägg ahh, nu funkar det!!
tusen tack!!!
dabMedlem sedan apr. 2001109 inlägg nej det funkar inte alls förresten märkte jag nu =/
när det finns dubbletter så skrivs inte 1:an ut utan det blir en rad för varje dublett.
Här är koden:
SELECT catId, catName, catDesc, catType, catTopicCount, catPostCount,
m1.user_username AS moderator1,
m2.user_username AS moderator2,
CASE WHEN newcatId IS null THEN 0 ELSE 1 END AS newCat
FROM forumCat LEFT JOIN forumNewcat
ON newcatCat = catId AND newcatUser = '".$login->userId."'
LEFT JOIN users m1 ON catModerator1 = m1.user_id
LEFT JOIN users m2 ON catModerator2 = m2.user_id