SELECT dbo.getUserName(uid) AS username, ISNULL(dbo.getProjectName(project), '--') AS project, MAX(pdate) AS pdate, ItemName, SUM(dr_qty) AS stock FROM Inventory WHERE (dbo.getUserName(uid) LIKE @uid) GROUP BY dbo.getUserName(uid), dbo.getProjectName(project), ItemName HAVING (SUM(dr_qty) <> 0) ORDER BY username, project, ItemName SELECT Items.idx, MAX(Inventory.pdate) AS lastDate, Items.name, Items.sid, Items.model, SUM(Inventory.dr_qty) AS Qty, SUM(Inventory.dr_amt) AS Amt, Items.supply FROM Inventory LEFT OUTER JOIN Items ON Inventory.gcode = Items.gcode AND Inventory.item = Items.idx WHERE (Inventory.gcode = @gcode) AND (Inventory.pdate <= @baseDate) GROUP BY Items.idx, Items.name, Items.sid, Items.model, Items.supply SELECT Inventory.place, MAX(Inventory.pdate) AS lastDate, Items.name, Items.sid, Items.model, SUM(Inventory.dr_qty) AS Qty, SUM(Inventory.dr_amt) AS Amt, Items.supply, Inventory.item, Inventory.box FROM Inventory LEFT OUTER JOIN Items ON Inventory.gcode = Items.gcode AND Inventory.item = Items.idx WHERE (Inventory.gcode = @gcode) AND (Inventory.pdate <= @baseDate) AND (ISNULL(Inventory.place, N'') LIKE @place) GROUP BY Items.name, Items.sid, Items.model, Items.supply, Inventory.place, Inventory.item, Inventory.box SELECT Inventory.place, MAX(Inventory.pdate) AS lastDate, Items.name, Items.sid, Items.model, SUM(Inventory.dr_qty) AS Qty, SUM(Inventory.dr_amt) AS Amt, Items.supply, Inventory.item, Inventory.box FROM Inventory LEFT OUTER JOIN Items ON Inventory.gcode = Items.gcode AND Inventory.item = Items.idx WHERE (Inventory.gcode = @gcode) AND (Inventory.pdate <= @baseDate) AND (Items.idx = @item) GROUP BY Items.name, Items.sid, Items.model, Items.supply, Inventory.place, Inventory.item, Inventory.box