Site Sponsored By: SQLDSC - SQL Server Desired State Configuration
Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
I want to get all the companies with type counts even when it's zero. result:------------------------------------------------------------------------------Auto Racing Request 0Auto Racing Fault 0Auto Racing Inquiry 1Auto Spring Request 0Auto Spring Fault 1Auto Spring Inquiry 0------------------------------------------------------------------------------drop table ticketsgoDROP TABLE #typesgoCREATE TABLE tickets (TYPE VARCHAR(8), CompanyName varchar(50))INSERT ticketsSELECT 'Fault', 'Auto Spring' UNION ALLSELECT 'Inquiry', 'Auto Racing'Create Table #types (type varchar(8))INSERT #types VALUES('Fault')INSERT #types VALUES('Request')INSERT #types VALUES('Inquiry')SELECT fa.CompanyName , fet.type, isNull(count(fa.type), 0) cntsFROM tickets fa right JOIN #types fetOn fa.type = fet.typeGROUP BY fet.type, fa.CompanyName
Lamprey
Master Smack Fu Yak Hacker
4614 Posts
Posted - 2012-08-14 : 17:40:57
Here is one way:
SELECT T.CompanyName , T.type, COUNT(fet.type) AS cntsFROM( SELECT Ticket.CompanyName ,Type.type FROM tickets AS Ticket CROSS JOIN #Types AS Type) AS TLEFT OUTER JOIN tickets fa ON T.CompanyName = fa.CompanyNameLEFT OUTER JOIN #types fet On T.type = fet.type AND fa.TYPE = fet.typeGROUP BY T.type, T.CompanyName