2016-10-14 21 views
0

私はフィールド 'complete' is''Y 'を持つ最新のサーベイ・リコーダを数えたいサーベイ・レコード・テーブルを持っていますが、最新のサベイ・ネームはcreatedateを持つ別のテーブルにあります。つまり、準備文なしの動的テーブル名で1つのクエリで実行することは可能ですか?

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)一つだけのクエリを受け入れるべきです。あなたの調査表にコースの 'をID' 列を追加する必要が

+0

調査テーブルとレコードテーブルの間のリンクは何ですか? –

+0

これらの2つのテーブルの間にリンクが存在しないという問題があります。 – eagle

答えて

0

、IDは、クエリ

の下に使用することができ,,その後、

SURVEYとRECORDテーブル間をリンクする必要があります
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

こんにちは@イーグルこれらの2つのテーブルをリンクすることはできません..もしあなたが、あなたはsurvay_name ..を取得することができませんCOUNTを取得したい、またはあなたはIDとsurvay_Name間のリンクを別のテーブルがありますか? – Kasnady

+0

いいえ、私はサブクエリまたは準備文を使うべきだと思います。 – eagle

関連する問題