2011-01-10 15 views
0
select count(distinct(vw_SIPMIP.product_id)) from vw_SIPMIP , sp_mip_rule 
where 
vw_SIPMIP.product_id not in (select a.product_id from vw_non_SIPMIP a) 
and sp_mip_rule.id = vw_SIPMIP.id 
and sp_mip_rule.createdby != '_IMPORT' limit 1 

に私は(括弧)を使用することで...あなたの構文が明瞭に間違っている、このエラーに不明な列「2」「ORDER句」

+3

表示するクエリには「2」もORDER句もありません。 –

+1

私はそれが最悪の部分であることを知っています....私は "Order"句をどこから得ているのか分かりません..... – vincent

+0

私の推測 - 'order by 'はあなたのビューの内側です - ' vw_SIPMIP'または ' vw_non_SIPMIP'。それらのビューのコードを投稿できますか? –

答えて

1

を得続けるよ、それは明確な考えている機能です内部値を渡して値を取得するためのパラメータとして期待しています...あなたが望むのは...さらに、返す列がないため、制限は必要ありません... COUNT *)またはCOUNT(DISTINCT SomeColumn)は常に1行だけを返します。必要なグループはありません。

select count(distinct vw_SIPMIP.product_id) YourDistinctCount 
    from vw_SIPMIP, 
     sp_mip_rule 
    where vw_SIPMIP.product_id not in (select a.product_id from vw_non_SIPMIP a) 
    and sp_mip_rule.id = vw_SIPMIP.id 
    and sp_mip_rule.createdby != '_IMPORT' 
関連する問題