Witam,
Mam kodzik:
SELECT *
FROM (
SELECT
Item.ItemLookupCode,Item.Description, tblResult2.Sold, tblResult2.Received ,
Cast(ROUND(((tblResult2.Sold / tblResult2.Received)*100), 2)as decimal(13,2)) as Percent_sold
FROM (
SELECT
ItemId, Sum(Received) as Received, Sum(Sold) as Sold
FROM (
SELECT
InventoryTransferLog.ItemID, '0' as Sold ,Sum(InventoryTransferLog.Quantity) As Received
FROM
InventoryTransferLog where type=1 and InventoryTransferLog.DateTransferred>getDate()-14
Group by
InventoryTransferLog.ItemID
UNION all
SELECT
TransactionEntry.ItemID, Sum(TransactionEntry.Quantity) As Sold, '0' as Received
FROM
TransactionEntry
LEFT JOIN [Transaction] ON [Transaction].TransactionNumber=[TransactionEntry].TransactionNumber
WHERE
[transaction].Time>getDate()-21
GROUP BY
TransactionEntry.ItemID
) as tblResult
GROUP BY
ItemID
) as tblResult2
LEFT JOIN Item ON tblResult2.ItemID=Item.ID
WHERE Received>0) as tblResult3 <b>where Percent_Sold<25</b>
Wszystko dziala prawidlowo dopuki nie dodam "where Percent_Sold<25" i wlasnie wtedy wyskakuje blad divide by zero.
Zgadzam sie ze w kilku wierszach wystepuje 0 ale to wlasnie te chce wyszczegolnic a reszte odrzucic.
Przepraszam za brak polskich znakow ale pracuje na windowsie bez polskiej klawiatury.
Z gory dziekuje za podpowiedz.