2009-02-26 14 views
1

MS Access'teki Sayımın (Distinct [f]) ​​etkisini çoğaltmanın hızlı bir yolu var mı? ÖrneğinMS Access'te Kopya Sayısı (Farklı [f]) ​​

: Tek sevk için

Veri Tablosu (bunlardan birkaç bin gerçek verilerde vardır):

| Referral ID | Number of Assessments | Teams Assessing | Services Provided | No Teams Providing 
| 1   | 2      | 2    | 4     | 3 
:

| Referral ID | Assessment Date | Assessment Team | Service Provided | Service Team 
| 1   | 02/01/2008  | AAA    | BBB    | AAA 
| 1   | 02/01/2008  | AAA    | CCC    | AAA 
| 1   | 02/01/2008  | AAA    | DDD    | BBB 
| 1   | 03/01/2008  | BBB    | EEE    | CCC 

ben veren bir sorgu istiyorum

Herhangi bir yardım için teşekkür ederiz!

cevap

4

Bu biraz karmaşık, ancak uygun olabilir. Imp tablonuz.

SELECT DISTINCT a.[Referral ID], b.CountOfADate, c.CountOfATeam, d.CountOfService, e.CountOfSTeam 

FROM (((imp AS a 

INNER JOIN 
    (SELECT b1.[Referral ID], Count(b1.ADate) AS CountOfADate 
    FROM (SELECT DISTINCT t.[Referral ID], t.[Assessment Date] As ADate FROM imp As t) AS b1 
    GROUP BY b1.[Referral ID]) AS b 
ON a.[Referral ID] = b.[Referral ID]) 

INNER JOIN 
    (SELECT c1.[Referral ID], Count(c1.ATeam) AS CountOfATeam 
    FROM (SELECT DISTINCT t.[Referral ID], t.[Assessment Team] As ATeam FROM imp As t) AS c1 
    GROUP BY c1.[Referral ID]) AS c 
ON a.[Referral ID] = c.[Referral ID]) 

INNER JOIN 
    (SELECT d1.[Referral ID], Count(d1.Service) AS CountOfService 
    FROM (SELECT DISTINCT t.[Referral ID], t.[Service Provided] As Service FROM imp As t) AS d1 
    GROUP BY d1.[Referral ID]) AS d 
ON a.[Referral ID] = d.[Referral ID]) 

INNER JOIN 
    (SELECT e1.[Referral ID], Count(e1.STeam) AS CountOfSTeam 
    FROM (SELECT DISTINCT t.[Referral ID], t.[Service Team] As STeam FROM imp As t) AS e1 
    GROUP BY e1.[Referral ID]) AS e 
ON a.[Referral ID] = e.[Referral ID]; 
+0

ben itiraf etmeliyim iç içe seçer önlemek için umuyordum, ama bu Access'te yapılması gereken yolu ise, işte bu ... cevap için Teşekkür yapılması gereken yolu! – mavnn

+0

Bunun bir çapraz tablo ile yapılmasının bir nedeni var mı? –

+0

Sütun başlıklarının sayısı üzerinde bir sınır var, değil mi? Bu nedenle, birkaç crosstabs gerekli, evet mi? – Fionnuala