2013-04-12 36 views
1

因此,我有兩個表,一個是「當前」表,另一個是「歷史」表。我現有的查詢看起來有點像這樣SQL Query從另一個表中獲取百分比

$QueryStr="SELECT *, IF(HOUR(TIMEDIFF(NOW(), TIME)) >= 1, 1, 0) AS OlderThanAnHour from ddCurrent"; 

我想補充的是,從ddHistorical一個選擇計數的記錄總數,然後呈現了不等於「OK」的個數

模式結構:

ddCurrent: 
-ID 
-LOCATION 
-STATUS 
-TIME 

ddHistorical 
-ID 
-CID (same as ID from ddCurrent) 
-LOCATION 
-STATUS 
-TIME 

因此,在本質我要的是一個連接到做的時候它說,在狀態的時候,它說什麼都對每個ID「OK」的百分比。

由於

+0

你能否更好地描述你想要做的事情。我明白了不好的狀態部分,但你想如何連接ddCurrent與ddHistorical?你想要兩個SQL查詢還是一個SQL查詢?我需要更多的投入。 –

回答

1
$QueryStr="SELECT count(*)/
(SELECT count(*) from ddHistorical) 
from ddHistorical where not status = 'OK'; 

上面的查詢計算在子查詢中的歷史記錄的總數。 然後,將不合格狀態的查詢總數除以子查詢的結果。

+1

優秀的答案,謝謝。 –