K@llenMedlem sedan mars 20032 667 inlägg -- message --
messageId (integer, räknare)
subject (text)
message (memo)
insertDate (datetime)
-- recievers --
messageId (integer)
fromId (integer)
toId (integer)
-- member --
memberId (integer, räknare)
fName (text)
lName (text)
SELECT me.messageId, me.subject, me.insertDate, mr.fName, mr.lName
FROM message me
INNER JOIN member mr
ON ( mr.memberId = me.fromId )
ORDER BY me.insertDate DESC
Jag skulle vilja ha med tabellen recievers i sql-frågan också. Jag vill joina tabellen recievers (med tabellen message) på fälten messageId, och räkna hur många poster som finns där fromId har ett visst värde. Med andra ord vill jag ha med en count(*) från tabellen recievers. Var och hur lägger jag in den?
dbms: access
LarsGMedlem sedan dec. 200012 464 inlägg SELECT me.messageId, me.subject, me.insertDate, mr.fName, mr.lName, (select count(*) from receivers
where messageid = me.messageid) as receivers
FROM message me
INNER JOIN member mr
ON ( mr.memberId = me.fromId )
ORDER BY me.insertDate DESC
K@llenMedlem sedan mars 20032 667 inlägg
LarsG skrev:
SELECT me.messageId, me.subject, me.insertDate, mr.fName, mr.lName, (select count(*) from receivers
where messageid = me.messageid) as receivers
FROM message me
INNER JOIN member mr
ON ( mr.memberId = me.fromId )
ORDER BY me.insertDate DESC
Jag jublade nog lite tidigt, dessutom hade jag nog skrivit fel i min join ovan, dvs jag hade inte följt min egen tabellstruktur. :r
Följande rad är inte jämförbar:
ON ( mr.memberId = me.fromId )
för tabellen message har inget fromId, utan det är tabellen recievers som har den relationen. Detta innebär att jag inte kan joina tabellerna message och member på det viset.
Läget är enligt följande. 3 tabeller enligt ovan för en pm-tjänst. Man kan skicka ett meddelande till flera/många medlemmar. När jag presenterar mappen "skickat" för en medlem, då tänkte jag presentera följande:
* subject
* insertDate
* samt fName och lName (på mottagare) om det bara finns en mottagare. Finns det många mottagare ska jag istället skriva ut en länk till ett pop-upfönster där jag listar mottagarna.
Kortfattat:
Jag vill hämta subject och insertDate från tabellen message
Jag vill hämta fName och lName från tabellen member
Jag vill räkna antal mottagare i tabellen recievers där messageId har en relation med messageId i tabellen message
Oj, vad rörigt detta blev. :(
K@llenMedlem sedan mars 20032 667 inlägg Löste det genom att dra ner på presentationskraven lite. Presenterar nu enbart hur många mottagare som finns, dvs tog bort joinen med member-tabellen.