2011-01-10 6 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'

+3

표시된 쿼리에는 "2"와 ORDER 절이 없습니다. –

+1

나는 최악의 부분을 알고있다 .... 나는 "Order"절을 어디에서 얻고 있는지 알지 못한다 ..... – vincent

+0

나의 추측 -'order by '는 뷰 내부에있다. -'vw_SIPMIP' 또는' vw_non_SIPMIP'. 이러한 뷰에 대한 코드를 게시 할 수 있습니까? –

답변

1

당신의 구문을 계속 점점 오전, 그것은 고유 생각하는 기능이다 (괄호)를 사용하여 ... 별개의 잘못 내부 값을 매개 변수로 전달하여 값을 다시 가져 오는 중 ... 원하는 것은 ... 또한 반환 할 다른 열이 없으므로 한도가 필요하지 않습니다 ... COUNT (*) 또는 COUNT (DISTINCT SomeColumn)는 항상 하나의 행을 모두 반환합니다. 필요에 따라 그룹을 반환하지 않습니다.

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' 
관련 문제