2016-10-14 48 views
0

我有一個調查記錄表,我想統計最近一次調查記錄,字段'complete'是'Y',而最新的倖存者名稱與創建者在另一個表中,這意味着表名是動態的,是否有可能在一個帶有動態表名的查詢中沒有準備語句?

select 'complete' count(*) 
from( 
    select 'survey_name' 
    from survey 
    Where active=''Y'' 
    order by cratedate desc 
    limit 1 
) 

,但它不能正常工作

記錄表:(名字是動態的)

id | complete | submitdate 

調查表:

survay_name | active | cratedate 

我知道它應當編寫語句來完成,但是我的系統(的Joomla + plotalot)只接受一個查詢。

+0

調查表和記錄表之間的聯繫是什麼? –

+0

問題是這兩個表之間沒有鏈接。 – eagle

回答

0

您需要在您的調查添加「ID」列當然了,該ID必須調查和記錄表之間的鏈接

然後,,您可以使用下面的查詢

SELECT COUNT(r.complete) as complete, s.survay_name, s.createDate 
FROM survey s 
LEFT JOIN record r ON s.id = r.id 
WHERE s.active = 'Y' AND r.complete = 'Y' 
+0

您好AKZhang,感謝您的答覆,但表是由另一個系統創建的,所以我不能更改表結構。 – eagle

+0

嗨@eagle那麼你不能鏈接這兩個表..如果你想獲得COUNT,那麼你將無法得到倖存者名稱..或者,你有另一個表之間的ID和倖存者名稱之間的鏈接? – Kasnady

+0

不,我認爲應該使用子查詢或準備語句。 – eagle

相關問題