2011-05-19 91 views
0

任何人都可以告訴我爲什麼我在查詢中的where子句之前不斷收到錯誤?如果我沒有任何where子句,它工作正常。需要幫助將2個查詢合併爲1

SELECT 
    (SELECT COUNT(DISTINCT threadid) FROM thread) AS threads, 
    (SELECT COUNT(DISTINCT postid) FROM post) AS posts 
WHERE 
    post.dateline >= 1299905258 AND 
    thread.dateline >= 1299905258 

這兩張表都有日期欄字段。這是一個語法問題,還是我想完成一件不能這樣做的事情?

回答

2

FROM條款在哪裏?

基本上,當你沒有WHERE子句時,它只是爲你獲得2列。當你所以現在定義一個where子句,這意味着你是從一些表篩選結果..你所需要的FROM

你可以試試這個

SELECT 
(SELECT COUNT(DISTINCT threadid) FROM thread WHERE dateline >= 1299905258) AS threads, 
(SELECT COUNT(DISTINCT postid) FROM post WHERE dateline >= 1299905258) AS posts 
+0

沒關係啊。我在想FROM線程和FROM郵件會把這些拉出來。我讀的都是錯的。我確實嘗試了一些,就像你之前所做的那樣,但是我在錯誤的位置使用了WHERE子句。現在它變得更有意義。謝謝。現在它工作正常。 爲了提高速度,以這種方式做更好還是2個單獨的查詢實際上會更快? – Boofo 2011-05-19 01:02:15