我無法在Mysql中查詢子查詢。很簡單的人都ok,最教程我發現很少去超越典型:不能得到頭輪子查詢
SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2);
什麼我試圖拔出我的數據庫是下面(我會盡我所能來解釋這一點沒有任何背景在我們的數據庫中):
檢索屬於上個月(在一列中)特定代表和總消費金額的客戶列表以及在其他列中到目前爲止所花費的金額。
至於結果,這看起來大致如下:我使用以獲取數據的第一部分
ID | NAME | PREV MONTH | CUR MONTH
1 | foobar | £2300 | £1200
2 | barfoo | £1240 | £500
查詢如下:
SELECT c.id,c.name, SUM(co.invoicetotal) as total
FROM customers as c
JOIN customerorders as co on co.customer_id = c.id
WHERE c.salesrep_id = 24
AND co.orderdate BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND CURDATE()
GROUP by c.id
order by total desc
的DATE_SUB可以被替換實際日期,因爲php變量最終會到達這裏。作爲一個例子,這只是給我有效的數據。
這給我,例如:
ID | NAME | TOTAL
1 | foobar | £2300
2 | barfoo | £1240
所以,理想情況下,我的子查詢應該是這樣完全相同的查詢,但隨着日期改變。我不斷收到#1242 - Subquery returns more than 1 row
錯誤。
有什麼建議或建議嗎?
在此先感謝。 羅布
你回來了?我們完蛋了! – 2010-08-16 16:24:31
MWA-HA-HA !!!!!! – Quassnoi 2010-08-16 16:29:25
這個作品現場感謝,非常感謝。感謝其他人對你的貢獻。儘管我很可能會使用Quassnoi的查詢來達到我的目的,但我仍然會通過所有答案來幫助我學習,歡呼。 – prevailrob 2010-08-17 08:04:31