주문한 마지막 줄을 제거하면 다음 SQL 쿼리가 작동합니다. 누구든지이 쿼리를 통해 주문할 때 이것이 작동하지 않는 이유를 말해 줄 수 있습니까?주문을 사용할 때 "0으로 나누기 오류가 발생했습니다."
declare @UQ as decimal(20,6);
declare @MUQ as decimal(20,6);
select @UQ=ItemUnit_UnitQuantity, @MUQ=ItemUnit_MainUnitQuantity from tItemUnit
where ItemUnit_Id = 23996
select top 1 (InvBuyPriceValue/InvL_Quantity)*iu.ItemUnit_UnitQuantity/iu.ItemUnit_MainUnitQuantity*@MUQ/@UQ as InvBuyPrice, Discount
from tInvL l
left outer join tInvH h on h.InvH_Id = l.InvH_Id
left outer join tItem i on i.Item_Id = l.Item_Id
left outer join tItemUnit iu on iu.ItemUnit_Id = l.ItemUnit_Id
left outer join tUnit u on u.Unit_Id = iu.Unit_Id
left outer join tClientObj clo on clo.ClientObj_Id = h.ClientObj_Id
left outer join tDocType dt on dt.DocType_Id = h.DocType_Id
where h.CompanyObj_Id = (select CompanyObj_Id from tEnabledCompany where CompanyClientObj_Id=(select ClientObj_Id from tClientObj where ClientObj_Code = '504'))
and dt.DocType_InOut = 1
and l.Item_Id = 19558
and h.ClientObj_Id = 386
order by InvH_DocDate desc, InvH_DocTime desc
내가 말하는 오류를 얻을 : 나누기에 의한 제로 오류가 발생했습니다. 내가가 아니라 select 문에서, 예를 들어 순서에이 오류가 왜 이해가 안
... 당신이 분열을 수행하는 유일한 장소
(InvBuyPriceValue/InvL_Quantity)이 값을 by order로 나누기 전에이 값을 확인하십시오. 무슨 일이 일어나는지 보셔야합니다. –
by order가 없기 때문에 결과 집합에 대해 계산 된 첫 번째 행을 취할 수 있으며 우연히 그 행에 0이 아닌'InvL_Quantity'와'iu.ItemUnit_MainUnitQuantity' 값이 들어있을 것입니다. 그러나 'ORDER BY'를 추가하면 더 많은 행을 생성해야하며 그 중 하나 이상에 위의 값 중 하나 또는 둘 모두에 대해 0 값이 포함됩니다. –