2013-05-05 20 views
1
CREATE TABLE CUSTOMER (
cusID VARCHAR(10) NOT NULL, 
cusNAME  VARCHAR(50), 
CONSTRAINT CUSTOMER_PKEY PRIMARY KEY (cusID) 
); 

CREATE TABLE ORDERS (
cusID  VARCHAR(10) NOT NULL, 
item VARCHAR(25), 
PPRICE NUMBER(12,2), 
CONSTRAINT ORDERS_FKEY FOREIGN KEY (cusID) REFERENCES CUSTOMER(cusID) 
); 

我有這兩個表,和我想的選擇名稱,從兩個不同的表COUNT(*)作爲查詢結果

CUSNAME ITEM BOUGHT 
JOHN   2 
MAY   5 

查詢結果是有可能做到這一點? 類似於選擇cusNAME,COUNT(*)來自CUSTOMER,ORDERS .......等等...... 不知道該如何繼續。

+0

請更正您的問題格式,它不可讀! – mojtaba 2013-05-05 11:25:33

+0

「買」定義爲訂單表中的行數?或者在某個地方是否有數量購買量?購買的 – 2013-05-05 11:25:40

+0

只是訂單表中出現cusID的次數,因爲客戶一次只能購買一件商品。所以我需要找出他們買了多少物品 – user2351750 2013-05-05 11:33:50

回答

1
SELECT cus.cusName, 
     COUNT(*) AS ItemBought 
FROM Customer AS cus 
     INNER JOIN Orders AS ord 
      ON cus.CusID = ord.cusID 
GROUP BY cus.cusName 

爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:

當客戶對錶Order ATLEAST一個記錄上面的查詢將只顯示因爲它使用INNER JOIN。如果要顯示所有客戶是否至少有一個表格訂單記錄,請改爲使用LEFT JOIN

+1

感謝您的幫助......真的很快...... – user2351750 2013-05-05 11:46:25

+0

不客氣':'' – 2013-05-05 11:47:01

+0

@downvoter你有這麼多機會downvote我的答案。顯然':''開心下調。 – 2013-05-06 00:05:53

相關問題