Counting computers for each lab

Posted by Irvin on Stack Overflow See other posts from Stack Overflow or by Irvin
Published on 2010-03-22T21:58:02Z Indexed on 2010/03/22 22:01 UTC
Read the original article Hit count: 329

Filed under:
|

Alright I have a problem with having to count PCs, and Macs from different labs. In each lab I need to display how many PC and Macs there is available. The data is coming from a SQL server, right am trying sub queries and the use of union, this the closest I can get to what I need.

The query below shows me the number of PCs, and Macs in two different columns, but of course, the PCs will be in one row and the Macs on another right below it. Having the lab come up twice.

EX:

LabName -- PC / MAC

Lab1 -- 5 / 0

Lab1 -- 0 / 2

Query

SELECT Labs.LabName, COUNT(*),0 AS Mac

FROM HardWare INNER JOIN Labs ON HardWare.LabID = Labs.LabID

WHERE ComputerStatus = 'AVAILABLE'

GROUP BY Labs.LabName

UNION

SELECT Labs.LabName, COUNT(*), (SELECT COUNT(Manufacturer)) AS Mac

FROM HardWare INNER JOIN Labs ON HardWare.LabID = Labs.LabID

WHERE ComputerStatus = 'AVAILABLE' AND Manufacturer = 'Apple'

GROUP BY Labs.LabName

ORDER BY Labs.LabName

So is there any way to get them together in one row as in

Lab1 -- 5 / 2

or is there a different way to write the query?

anything will be a big help, am pretty much stuck here.

Cheers

© Stack Overflow or respective owner

Related posts about sql

Related posts about c#