2010-11-27 50 views
0

租金錶:MySQL的數據檢索問題

CREATE TABLE RENTAL 
(
TransactionNo int NOT NULL AUTO_INCREMENT, 
MemberID int NOT NULL, 
ItemNo char(3) NOT NULL, 
RentalEmployeeID varchar(30), 
ReturnEmployeeID varchar(30), 
Checkout_date DATE, 
Checkin_date DATE, 
Return_date DATE, 
ItemQuantity int(11) NOT NULL, 
TotalPrice DOUBLE(10,2) NOT NULL, 
ItemFee DOUBLE(10,2), 
PRIMARY KEY(TransactionNo), 
FOREIGN KEY(MemberID) REFERENCES Member(MemberID), 
FOREIGN KEY(ItemNo) REFERENCES Item(Itemno), 
FOREIGN KEY(RENTALEMPLOYEEID) REFERENCES Employee(EmployeeID), 
FOREIGN KEY(RETURNEMPLOYEEID) REFERENCES Employee(EmployeeID) 
) 

我試圖檢索然而所有已經購買的同一天至少2項,客戶的查詢;我仍然無法完成它。這是一個嵌套的子句嗎?

我的發言:

SELECT m.MemberID, r.`checkout_date`, SUM(r.itemquantity) 
FROM RENTAL AS r, MEMBER AS m 
WHERE r.MemberID = m.MemberID 
GROUP BY m.MemberID, r.`checkout_date` 
HAVING SUM (r.itemquantity) > 1 

這個新的說法給我,但是我想要的東西;因爲租賃信息不是必需的(NULL),它總結了所有的退貨項目,而不僅僅是租金。

回答

0

你不需要一個嵌套子句 - 'GROUP BY'可以做到這一點。

SELECT m.MemberID, r.`checkout_date`, COUNT(r.itemno) 
FROM RENTAL AS r, MEMBER AS m 
WHERE r.MemberID = m.MemberID 
GROUP BY r.MemberID, `r.checkout_date` 
+0

但聲明中不包含該人已租下 – user522032 2010-11-27 17:59:47

0
   group by memberid, checkoutdate having count(transactionid) > 1 
+0

當天此組沒有得到他們全部2個或多個項目的條件。它留下了在一天內租用5件東西的第二名成員 – user522032 2010-11-28 17:10:34