2014-12-12 3 views
0

내가이 저장 프로 시저를하위 쿼리가 반환 해결하는 방법에 1 개 이상의 값 오류

ELSE IF(@Item_Type='Frames') 
BEGIN 
    SELECT 
     ID.Selling_Price, --0 
     ID.Purchase_Price,--1 
     @Discount AS Discount,--2 

     IH.Item_Name AS Item_Group_Name,--3 
     @Item_Group_Code AS Item_Group_Code,--4 

     FD.Item_Code,   
     ID.Item_Name, 
     FD.Material,  
     FD.Color, 

     FD.RIM, 
     FD.Frame_Code 
    FROM 
     Frame_Details AS FD 
    LEFT JOIN 
     Item_Details AS ID ON FD.Item_Code = ID.Item_Code 
    LEFT JOIN 
     Item_Header AS IH ON IH.Item_G_Code = ID.Item_G_Code    
    WHERE 
     FD.Status = '0' 
     AND FD.Item_Code = @Item_Code 
    GROUP BY 
     ID.Selling_Price, ID.Purchase_Price, IH.Item_Name, 
     FD.Item_Code, ID.Item_Name, FD.Material, FD.Color, FD.RIM, FD.Frame_Code 
END 

이 successfully..this을 실행하지 않습니다를 실행하기 위해 노력하고있어 내가

있어 오류 메시지입니다 하위 쿼리가 1 개 이상의 값을 반환했습니다. 하위 쿼리가 =,! =, <, < =,>,> = 또는 하위 쿼리가 식으로 사용될 때 하위 쿼리가 수행되는 경우에는 허용되지 않습니다.

이전에 여러 가지 예를 시도했지만 나에게 적합하지 않습니다.

+2

게시 한 SQL 부분에는 하위 쿼리가 없습니다. 전체 쿼리는 무엇입니까? –

+0

"Top"으로 시도하십시오 .. –

+0

하위 쿼리 – PP006

답변

3

하위 쿼리가 두 개 이상의 레코드를 반환하는 것으로 보입니다. 이 경우 결과는 단일 값이 아닌 집합이며 시나리오에서는 허용되지 않습니다. 이 문제를 방지하려면이 하위 쿼리의 결과를 조인하거나 TOP 1 또는 max 또는 sum 또는 AVG를 사용하여 하나의 값만 반환 할 수 있습니다.

감사합니다.

+0

전에 사용해 보았지만 작동하지 않았습니다. – Saranga

관련 문제