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.
| Author |
Topic |
|
eirikr
Starting Member
18 Posts |
Posted - 2008-10-31 : 14:35:37
|
| with 3 diff tables:v_Collection tbl: CollectionID Name 1 walgreen 2 target 3 searsv_FullCollectionMembership: CollectionID ResourceID isClient 1 100 1 2 200 1 3 300 0v_image: ResourceID imageVersion 100 123 200 null 300 nullFirst sql:select T1.Name, T2.ResourceID, count(T2.ResourceID) as Cnt_s1 from v_Collection as T1, v_FullCollectionMembership as T2where T1.CollectionID = T2.CollectionIDgroup by T1.Name,T2.ResourceID=> Name ResourceID rscIdCnt walgreen 100 1 target 200 1 sears 300 1Second sql:select T1.Name, T2.ResourceID,count(T2.ResourceID) as Cnt_s2from v_Collection as T1, v_FullCollectionMembership as T2where T1.CollectionID = T2.CollectionIDand T2.IsClient='1'group by T1.Name, T2.ResourceID=> Name ResourceID rscIdCnt_s2 walgreen 100 1 target 200 1Third sql:select T1.Name, T2.ResourceID,count(T2.ResourceID) as Cnt_s3from v_Collection as T1, v_FullCollectionMembership as T2, v_image as T3where T1.CollectionID = T2.CollectionIDand T2.ResourceID = T3.ResourceIDand T3.imageVersion is not nullgroup by T1.Name, T2.ResourceID=> Name ResourceID rscIdCnt_s2 walgreen 100 1HOW CAN I COMBINE THESE RESULTS LIKE=> Name ResourceID Cnt_S1 Cnt_s2 Cnt_s3 walgreen 100 1 1 1 target 200 1 1 sears 300 1 in t-sqlThanks for your help.... |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-10-31 : 14:44:46
|
| [code]SELECT c.Name,cm.ResourceID,COUNT(cm.ResourceID) AS Cnt_S1,COUNT(CASE WHEN cm.IsClient=1 THEN cm.ResourceID ELSE NULL END) AS Cnt_S2,COUNT(CASE WHEN i.imageVersion is not null THEN cm.ResourceID ELSE NULL END) AS Cnt_S3FROM v_Collection cINNER JOIN v_FullCollectionMembership cmON cm.CollectionID=c.CollectionIDINNER JOIN v_image iON i.ResourceID=cm.ResourceIDGROUP BY c.Name,cm.ResourceID[/code] |
 |
|
|
eirikr
Starting Member
18 Posts |
Posted - 2008-10-31 : 15:22:16
|
Thank you Visakh, it's awesome---------------------------------------quote: Originally posted by visakh16
SELECT c.Name,cm.ResourceID,COUNT(cm.ResourceID) AS Cnt_S1,COUNT(CASE WHEN cm.IsClient=1 THEN cm.ResourceID ELSE NULL END) AS Cnt_S2,COUNT(CASE WHEN i.imageVersion is not null THEN cm.ResourceID ELSE NULL END) AS Cnt_S3FROM v_Collection cINNER JOIN v_FullCollectionMembership cmON cm.CollectionID=c.CollectionIDINNER JOIN v_image iON i.ResourceID=cm.ResourceIDGROUP BY c.Name,cm.ResourceID
|
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-01 : 02:14:41
|
Cheers |
 |
|
|
|
|
|
|
|