Permalänk

SQL - Kombinera queries?

Hej,

Detta är säkert inget konstigt men jag har total hjärnsläpp.
Min tabell (tblTracker) ser ut så här:

SessionID UserName IsInternal ------------------------------------------ 123 Pelle 1 321 Olle 1 213 Nisse 0

Jag vill nu hämta ut diverse info om datan i tabellen med en query och få en ny tabell (1 rad, 3 kolumner) t.ex:

NbrOfUsers NbrOfInternals NbrOfExternals ---------------------------------------------- 3 2 1

Mitt försök:

(SELECT COUNT(*) AS 'nbr_users' FROM tblTracker) UNION (SELECT COUNT(IsInternal) AS 'nbr_internals' FROM tblTracker WHERE IsInternal=1) UNION (SELECT COUNT(IsInternal) AS 'nbr_externals' FROM tblTracker WHERE IsInternal=0)

Visa signatur

Min dator är bättre än din.

Permalänk
Medlem

SELECT (SELECT COUNT(*) AS 'nbr_users' FROM tblTracker) as [NbrOfUsers] (SELECT COUNT(IsInternal) AS 'nbr_internals' FROM tblTracker WHERE IsInternal=1) as [NbrOfInternals] (SELECT COUNT(IsInternal) AS 'nbr_externals' FROM tblTracker WHERE IsInternal=0) as [NbrOfExternals]

Visa signatur

AK47s for everyone! - Angry mob
Since NaN /= NaN, I think, we should decipher 'NaN' as 'Not a NaN' - Miguel Mitrofanov
(Varför är människan så benägen att tro på Gud?) Antagligen har det lönat sig och evolutionen har drivit fram sådana hjärnor. - Anon

Permalänk
Medlem

--MySQL SELECT (SELECT COUNT(*) FROM tblTracker) as nbr_users, (SELECT COUNT(*) FROM tblTracker WHERE isinternal=1) as nbr_internals, (SELECT COUNT(*) FROM tblTracker WHERE isinternal=0) as nbr_externals ;

Visa signatur

I'm Winston Wolfe. I solve problems.

Permalänk
Hedersmedlem

Vet inte hur fint det här är men du slipper flera queries.

-- Sql Server SELECT COUNT(*) Users, COUNT(CASE WHEN IsInternal=1 THEN 1 ELSE NULL END) InternalUsers, COUNT(CASE WHEN IsInternal=0 THEN 1 ELSE NULL END) ExternalUsers FROM tblTracker

edit: Verkar prestera bättre också.

Visa signatur

The variable 'brain' is declared but never used

Permalänk

Jaaaa, såklart.. tack ska ni ha!

Visa signatur

Min dator är bättre än din.