2017-10-17 6 views

答えて

0

あなたが何らかの形で、例えば行にそれらのhash値を取得する必要があります

select d.hash, count(t.hash) 
from (
    select 1111 as hash union all 
    select 2222 
    ) d 
left outer join myTable t on d.hash = t.hash 
group by d.hash 

それは(あなたの例でのような2222)比類のない値(0のカウントで)結果に表示されることを可能にするようleft outer joinが重要です。

left outer joinは、あなたの助けのためにleft join

+0

おかげに略記することが、私の主な関心事は、IDの動的なリストがある場合は、それを処理する方法ですか? –

+0

リストはどこから来たのですか? (例えばPHP?)それは私が疑うところで行われなければならない。それについて別の質問が必要な場合があります。 –

+0

**これを得るための最良の方法は、IN()文とは対照的に、リストを 'table'から得ることです。そうすれば、LEFT JOINを行い、SUM(ISNULL(hash、0,1))を使うことができます。一時的なテーブルを使って 'STORED PROCEDURE'で簡単に。 –

関連する問題