Try this:
;WITH cte as
(SELECT t.id
,t.item
,t.size
,t.unit
,t.MRP
,CASE WHEN MONTH(a.bill_Date)=11 THEN sum(a.Qnty)
ELSE 0 END AS totalQnty
,CASE WHEN month(a.bill_Date) = 11 THEN sum(a.Total)
ELSE 0 END AS totalAmt,a.bill_Date
FROM Stock t
left JOIN sale a ON t.id = a.itemID
WHERE a.bill_Date IS NULL OR MONTH(a.bill_Date) = 11
GROUP BY a.itemID,t.item,t.size,t.unit,t.MRP,t.id,a.bill_Date)
SELECT s.item AS ItemName,
s.size,
s.unit,
s.MRP,
isnull(c.totalQnty,0) AS TotalQnty,
isnull(c.totalAmt,0) AS TotalAmt
FROM Stock as s
left join cte as c ON s.id = c.id
Actually your result should be as follows for 11th month for your requirement:
sr ItemName size unit MRP totalQnty TotalAmt
-----------------------------------------------------------------------------
1. abc 500 gm 120 2 240
2. xyz 500 gm 180 0 0
3. pqr 150 gm 60 2 120
4. lmn 50 gm 20 3 60
5. pqr 1 kg 500 0 0
------------------------------------------------------------------------------
You incorrectly calculated totlaQnty of item 'abc' and TotalAmt of pqr.