Håller på att bygga ett diskussionsforum i ASP/SQL 2000, och har stött på lite problem. Jag är relativt färsk vad gäller ASP, så det är säkert inte så svårt att lösa för en erfaren utvecklare.
Sidan där jag skall lista alla Topics består i stort sett av en tabell med tre kolumner:
Kolumn 1: Topic Title
Kolumn 2: Vem som startade tråden
Kolumn 3: Vem som senast postade i tråden
Denna info sparas i en tabell som heter "tableTopics":
Titeln, eller ämnesraden, sparas i ett fält som heter "Title". Användaren som startade tråden sparas i fältet "Poster", och personen som senast svarade sparas i fältet "LatestReplyPoster". I de båda senare fallen är det endast användarid som sparas. Alla användare sparas i en tabell som heter "tableUsers", som innehåller två fält: "ID" och "Name". För att visa namnet på användaren som startade tråden istället för dennes ID när jag listar alla topics har jag gjort en INNER JOIN som knyter samman tabellerna "tableTopics" och "tableUsers":
CREATE PROCEDURE sp_listTopics
@id int
AS
SELECT tableTopics.Title AS Title, tableUsers.Name AS Poster, tableTopics.LatestReplyPoster AS LatestReplyPoster
FROM tableUsers INNER JOIN tableTopics ON tableUsers.ID = tableTopics.Poster
WHERE BelongsInForum = @id
GO
Detta fungerar fint - användarnamnet visas istället för ID - men hur gör jag för att även visa namnet på personen som senaste postade i tråden, istället för dennes ID? Jag behöver alltså två olika IDs från tabellen "tableUser" och dessa behöver kopplas ihop med två olika fält i tabellen "tableTopics". Hur gör man detta?
Var det någon som förstod detta?