2013-01-24 14 views
0

加入我有兩個表內索引查詢的MS Access

客戶

CustomerID name x2  x3 
-------------------------------- 
14tr   Joe att2 att3 
11ty   Jack att2 att3 

存款

Depositid CustomerID quantity date  att3 att4 
-------------------------------------------------- 
13   14tr  100 12-12-12  5 6 
14   14tr  200 12-13-12  8 1 
15   14tr  140 12-16-12  9 6 
16   11ty  10 12-19-12  1 6 
17   11ty  20 12-19-12  1 1 
18   11ty  114 12-21-12  1 6 

我想以下結果:

結果

No name quantity  date att3 att4 x2  x3 
----------------------------------------------------------------------- 
1 Joe  100 12-12-12  5 6 att2 att3 
1 Joe  200 12-13-12  8 1 att2 att3 
1 Joe  140 12-16-12  9 6 att2 att3 
2 Jack  10 12-19-12  1 6 att2 att3 
2 Jack  20 12-19-12  1 1 att2 att3 
2 Jack  114 12-21-12  1 6 att2 att3 

要做到這一點我做

SELECT 
    b.name, 
    a.quantity, 
    a.date, 
    a.att3, 
    a.att4, 
    b.x2, 
    b.x3 
FROM 
    Deposit a INNER JOIN Customer b 
    ON a.CustomerID = b.CustomerID; 

我怎樣才能得到每個不同的客戶號列計數器像的例子嗎?

有沒有更好的方法來顯示這兩個表之間的內部連接?

+0

什麼的MS Access版本? –

+0

以及有可能使用Access 2007,然後是2010?還是兼容性問題? – cMinor

+0

嘗試'按順序排列' – spajce

回答

1

您可以:

SELECT DCount("*","Customer","CustomerID <='" & b.CustomerID & "'") AS Ct, 
b.name, 
a.quantity, 
a.Date, 
a.att3, 
a.att4, 
b.x2, 
b.x3 
FROM Deposit AS a 
INNER JOIN Customer AS b ON a.CustomerID = b.CustomerID 
ORDER BY b.CustomerID; 

結果:

Ct name quantity Date att3 att4 x2  x3 
1 Jack 114  21/12/2012 1  6 att2 att3 
1 Jack 20  19/12/2012 1  1 att2 att3 
1 Jack 10  19/12/2012 1  6 att2 att3 
2 Joe  140  16/12/2012 9  6 att2 att3 
2 Joe  200  13/12/2012 8  1 att2 att3 
2 Joe  100  12/12/2012 5  6 att2 att3 
+0

當我執行它時,我將計數器設置爲2而不是1,我如何將計數器設置爲1? ,我使用了'SELECT DCount(「*」,「Customer」,「CustomerID <=」&[b.CustomerID])' – cMinor

+0

哦,我將它改爲了'SELECT DCount(「*」,「Customer」 「&[b.CustomerID])'並且它起作用 – cMinor

+0

在這種情況下,您必須有一個客戶沒有出現在您的存款表中,但確實出現在您的客戶表中。最好創建一個查詢,獲取一組客戶的存款並將其用於您的DCount。 – Fionnuala