我有一個Users表和一個Payments表。我需要一個查詢,其中列出PaymentStatus = 1的付款表中有記錄的用戶。MySQL查詢使用2個表中的數據
它還必須僅列出具有某個GroupID的用戶。 GroupID將通過變量傳遞,但爲簡單起見,我們可以將其稱爲5。
的記錄(TimeCompleted)時間戳也必須小於設定時間戳記,但我們可以直接調用這個10
這些都是表中的列(簡體):
Users: UserID, GroupID, UserName
Payments: PaymentID, UserID, PaymentStatus, TimeCompleted
查詢應選擇字段UserName。
幾個小時前,我問過類似的問題,但我問了它錯誤,我無法讓查詢正常工作。此外 - 如果用戶有多個有效和有效的付款,它只能返回一次用戶名。當我試圖做到這一點時,我無法做到這一點。
如果你願意,它可以改進我當前的查詢(除了最後一個關於複製返回用戶的問題,它可以完成所有工作)。我可能會去了解它雖然完全錯誤的:
SELECT `Users`.`UserName`
FROM `Users`
LEFT OUTER JOIN `Payments` ON `Users`.`UserID` = `Payments`.`UserID`
WHERE `Payments`.`TimeCompleted` < 10
AND `Payments`.`PaymentStatus` = 1
AND `Users`.`GroupID` = 5
這看起來像是一個家庭作業問題。是嗎? – Sandro 2010-08-27 20:39:57
Nah這只是我的一個項目:P我正在嘗試查詢.. – Matt 2010-08-27 20:46:54