Har en grid där jag visar medlemmar som valt att visa sin blogg.
Mitt problem är att jag skulle välja lägga till en kolumn och sortering från tabellen "blogg" där den som senast skrivit ett inlägg visas överst. Men mina tappra försök att lägga till tabellen "blogg" i select satsen nedan gör att ett namn visas antalet ggr som medlemmen har skrivet ett inlägg.
tabellen heter blogg och kolumnen fidnr = f.id
Kolumnen "inlagddatum" i tabellen blogg är smalldatetime
Så här ser nuvarande select sats ut (utan tabellen blogg)
SELECT f.id, f.klubbid, f.namn, f.ort, k.klubb FROM dbo.fidreg AS f INNER JOIN dbo.sdsfklubb AS k ON f.klubbid = k.id Where visa_blogg = @visa_blogg And blogg = @blogg
Nu ser jag inte vilken tabell som blogg id:t ligger i. Men denna lösningen är ett alternativ:
SELECT * FROM (
SELECT f.id, f.klubbid, f.namn, f.ort, k.klubb,
(SELECT MAX(insertdate) from blogg where blogg.id = f.blogg) AS LatestInsertDate
FROM dbo.fidreg AS f
INNER JOIN dbo.sdsfklubb AS k ON f.klubbid = k.id
Where visa_blogg = @visa_blogg And blogg = @blogg) as drv
ORDER BY drv.LatestInsertDate
Har en grid där jag visar medlemmar som valt att visa sin blogg.
Mitt problem är att jag skulle välja lägga till en kolumn och sortering från tabellen "blogg" där den som senast skrivit ett inlägg visas överst. Men mina tappra försök att lägga till tabellen "blogg" i select satsen nedan gör att ett namn visas antalet ggr som medlemmen har skrivet ett inlägg.
Sorteringen är enkel att få till (när man vet hur man gör) men för att kunna ge ett bra förslag måste jag förstå hela frågan och jag är inte riktigt säker på hur du menar. Vad innehåller den kolumn från blogg som du vill lägga till? Är det datumet personen senast postat (alltså den kolumn du vill sortera efter) eller är det en annan kolumn? Kommer den att ha olika värden för samma postare eller är det lika för alla postarens rader?
SELECT
f.id,
f.klubbid,
f.namn,
f.ort,
k.klubb,
X.LastPostDate
FROM
dbo.fidreg AS f
INNER JOIN dbo.sdsfklubb AS k ON f.klubbid = k.id
INNER JOIN ( -- Sista bloggdatum per användare
SELECT
b.fidnr,
MAX(b.inlagddatum) as LastPostDate
FROM
blogg b
GROUP BY
b.fidnr
) AS X ON
f.id = X.fidnr
WHERE
visa_blogg = @visa_blogg And blogg = @blogg
ORDER BY
X.LastPostDate DESC -- Senast överst
256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849