webForumDet fria alternativet
Logga in / Bli medlem

3 i 1 SQL count join

ASP

5 svar · 224 visningar · startad av Jörgen HP

Medlem sedan feb. 20012 412 inlägg
Trådstart#1

Hej!

Försöker mig på att göra 3 st select count(*) i samma fråga och från 2 olika tabeller, men lyckas inget vidare.

Det är tänkt att se ut något i denna stilen:

Select Count(MessId) AS Inlagg From Debatt, Select Count(messID) AS Tradar From Debatt WHERE Orgthread=True, Select Count(AnvId) AS Users From Profil.

Koden ovan är inte under några omstänigheter tänkt att fungera som den ser ut nu, utan bara en översikt hur det är tänkt. Tabellerna har en relation i form av att AnvId förekommer i båda tabellerna.

Är det möjligt att slå ihop dem eller är det bättre att göra 3 select count var för sig?

Tacksam för hjälp!

Mvh Jörgen

Medlem sedan dec. 200012 464 inlägg
#2

Du kan ju göra det med en union i stället.


Select Count(MessId) AS Inlagg,
'Inlägg' as type 
From Debatt 
union all
Select Count(messID) AS Tradar,
'Trådar' 
From Debatt WHERE Orgthread=True
union all
Select Count(AnvId) AS Users,
'Users' 
From Profil
Medlem sedan feb. 20012 412 inlägg
#3

Hej och tack LarsG!

Skulle du vilja förklara lite vad raderna inom '.....' gör?

tack på förhand!

mvh jörgen

Medlem sedan juni 200032 967 inlägg
#4

det enda LarsG gör med de bitarna är att han lägger in fält med bestämda värden i det recordsetet. detta för att du skall veta vilken count som hör till vilken tabell.

recordsetet du får tillbaka kan se ut nånting sånt härnt:

541     Inlägg
67      Trådar
107     Users

mvh,

Medlem sedan feb. 20012 412 inlägg
#5

Okey då hajar jag, tack för redogörelsen @nders!

mvh Jörgen

Medlem sedan juni 200032 967 inlägg
#6

(jag hoppas bara jag tolkat LarsGs sql-fråga korrekt. är dock inte helt säker på det. om så, rätta mig gärna.)

253 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)