I vilken tabell finns kolumnen AnvID?
Jag tycker att det ser ut som om du skulle behöva en union egentligen.
11 svar · 323 visningar · startad av Jörgen HP
Hej!
Har en SQL-fråga som ser ut enligt följande:
m_strSQL = "SELECT Subject, req_Username, dteDate, " & _
"Svar_dteDate, Inlagg.intForumId, MessId " & _
"FROM Svar " & _
"RIGHT JOIN Inlagg " & _
"on MessId = Svar_MessId " & _
"RIGHT JOIN Profil " & _
"on AnvId = Svar_AnvId " & _
" WHERE Inlagg_AnvId = "& cint(Request.querystring("AnvId")) &"" & _
" OR Svar_AnvId = "& cint(Request.querystring("AnvId")) &"" & _
" GROUP BY MessId ORDER BY dteDate DESC"
Problemet är att den hämtar ibland poster med annat AnvId än det querystringen innehåller, vad kan det bero på?
r: skriver jag ut det blir det:
SELECT Subject, req_Username, dteDate, Svar_dteDate, Inlagg.intForumId, MessId FROM Svar RIGHT JOIN Inlagg on MessId = Svar_MessId RIGHT JOIN Profil on AnvId = Svar_AnvId WHERE Inlagg_AnvId = 2 OR Svar_AnvId = 2 GROUP BY MessId ORDER BY dteDate DESC
mvh Jörgen :)
I vilken tabell finns kolumnen AnvID?
Jag tycker att det ser ut som om du skulle behöva en union egentligen.
Hej!
AnvId finns i tabellen Profil. Jag har aldrig fått union att fungera i Mysql, tyvärr.
Profil: AnvId
Svar: Svar_AnvId
Inlagg: Inlagg_AnvId
r: aldrig stavas aldrig med 2 l
mvh Jörgen :)
Hej!
Tabellstruktur:
Inlagg:
MessId int(11)
Subject varchar(100)
dteDate
Inlagg_AnvId int(11)
IntForumId tinyint(2)
Svar:
Svar_Id int(11)
Svar_MessId int(11)
IntForumId tinyint(2)
Svar_AnvId int(11)
Svar_dteDate
Profil:
AnvId int(11)
req_Username varchar(50)
mvh Jörgen :)
T.ex. om du i inlagg hittar en post som matchar inlagg_anvid = 2 så joinar du det mot messid i svar-tabellen och sedan använder du svar_anvid för att joina mot profil.
Du får då profilinfo för alla som svarat på inlägget istället.
Det är därför jag är ute efter att du behöver två frågor.
Hej!
Så du menar att jag gör en join mellan tabellerna Inlagg och Svar.
Sedan gör jag en fråga till som hämtar ut req_Username för den användaren som har ett AnvId som övernsstämmer med request.querystring("AnvId")?
r: hela funktionen går ut på att lista alla inlägg som en viss medlem har deltagit i.
mvh Jörgen :)
Det känns som om det är något skevt med din datamodell.
Varför skiljer du på inlägg och svar på det sättet?
Räcker det inte med att ha en subject-tabell där man sparar titel/ämne och till vilket forum det hör och sedan har man en tabell för alla inlägg där man har ett subjectid och sekvensnummer som primärnyckel. I så fall behöver du enbart söka i inläggstabellen i detta fall.
Nej, union finns inte i mysql.
Känner mig tvungen att påpeka att det finns i mysql 4.0, och att man om ett år antagligen inte kommer kunna säga "nej, mysql stöder inte foreign key constraints, stored procedures eller subqueries". :)
http://www.mysql.com/products/mysql-4.0/index.html