2015-04-06 44 views
-1

我有兩個表SQL查詢:我如何獲得地址和每個地址的訂單數量

一個包含用戶地址列表,另一個表包含訂單列表。

我想要做的就是加入這些表格,獲得一個明確的地址列表和地址的訂單數量。

Table1 
ID - USERNAME - USERADDRESS 
1  - USER1  - ADRESS1 
2  - USER2  - ADDRES2 
3  - USER3  - ADDRES3 

Table2 
ID - USERID  - ORDERDETAIL 
1  - 3   - ... 
2  - 2   - ... 
3  - 2   - ... 
4  - 1   - ... 
5  - 3   - ... 
6  - 2   - ... 
7  - 1   - ... 
8  - 3   - ... 
9  - 3   - ... 
10 - 3   - ... 

而獲取

ADDRESS1 2 
ADDRESS2 3 
ADDRESS3 5 

我怎樣才能做到這一點在一個SQL語句?

+1

,它會是多少更容易幫助你... – jarlh 2015-04-06 10:23:12

+1

併爲您正在使用的DBMS添加標籤。 Postgres的?甲骨文? – 2015-04-06 10:23:35

回答

1

您可以檢查此查詢:如果您給我們表定義,樣本數據和預期的結果

select a.address, count(o.order_num) orders from addresses a inner join orders o on a.address_id = o.address_id GROUP BY a.address 
1

根據評論,你應該陳述RDBMS併發布你的嘗試。加盟和應用的集合,一般的做法是這樣的:

SELECT t1.USERADDRESS, 
     COUNT(t2.ID) as NumOrders -- Show each address and a count of orders 
FROM Table1 t1 
    INNER JOIN Table2 t2 
    on t2.USERID = t1.ID -- JOIN Key 
GROUP BY t1.USERADDRESS;