stored procedures - Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery -


declare @productdetails table(productname nvarchar(200),productdescription nvarchar(200), brand nvarchar(200), categry  nvarchar(200), grop nvarchar(200), mrp decimal,salesrate decimal,currentquantity decimal,availableqty decimal)  declare @availableqty table(prcode nvarchar(100),aqty decimal)  declare @closestock table(pcode nvarchar(100), cqty decimal)  insert @closestock select pcode , 0.0 producttable  insert @availableqty select pcode , 0.0 producttable  --current qty --openqty update @closestock set cqty=((ooqty+qty+srrqty+pyqty)-(stqty+prrqty)) ( select pc.pcode productcode, --opening (select case when sum(pu.quantity)is null 0 else sum(pu.quantity) end q productopeningyearend pu pc.pcode=pu.productname) ooqty, --purchase (select case when sum(pu.quantity)is null 0 else sum(pu.quantity) end q purchase pu pc.pcode=pu.prdcode ) qty, --sales (select case when sum(st.quantity)is null 0 else sum(st.quantity)end q2 salestable st pc.pcode=st.productcode , st.status!='cancel' )as stqty, --physical stock (select case when sum(ps.adjustment)is null 0 else sum(ps.adjustment)end q3 physicalstock ps pc.pcode=ps.pcode )as pyqty, --sales return (select case when sum(sr.quantity)is null 0 else sum(sr.quantity)end q3 salesreturn sr pc.pcode=sr.prdcode )as srrqty, --purchase return (select case when sum(pr.quantity)is null 0 else sum(pr.quantity)end q3 purchasereturn pr pc.pcode=pr.prdcode )as prrqty  producttable pc group pc.pcode )t pcode=t.productcode  --available update @availableqty set aqty=((ccqty-giqty)+(goqty)) --((ooqty+qty+srrqty+pyqty)-(stqty+prrqty)) ( select pc.pcode productcode, --goodsin (select case when sum(gi.quantity)is null 0 else sum(gi.quantity) end q goodsin gi pc.pcode=gi.productcode) giqty, --goodsout (select case when sum(gut.quantity)is null 0 else sum(gut.quantity) end q goodsout gut pc.pcode=gut.productcode ) goqty, --current stock (select cs.cqty q @closestock cs  pc.pcode=cs.pcode ) ccqty producttable pc group pc.pcode )t prcode=t.productcode  insert @productdetails select pcode,[description],brand,category,department,mrp,salerate,0,0 producttable  update @productdetails set currentquantity=pcqty,availableqty=acqty ( select pt.productname pn,cs.cqty pcqty,ac.aqty acqty @productdetails pt inner join @closestock cs on pt.productname=cs.pcode inner join @availableqty ac on pt.productname=ac.prcode      )t productname=t.pn  select * @productdetails  end 

this not working when productable in pcode field add ant (-.&) kind of symbol want allow in pcode field, please me how can allow symbol in query

(problem code) update @availableqty set aqty=((ccqty-giqty)+(goqty)) ( select pc.pcode productcode, --goodsin (select case when sum(gi.quantity)is null 0 else sum(gi.quantity) end q goodsin gi pc.pcode=gi.productcode) giqty, --goodsout (select case when sum(gut.quantity)is null 0 else sum(gut.quantity) end q goodsout gut pc.pcode=gut.productcode ) goqty, --current stock (select cs.cqty q @closestock cs pc.pcode=cs.pcode ) ccqty producttable pc group pc.pcode )t prcode=t.productcode

the problem here isn't symbols you're using, it's assigning value of subquery single column in result set. example:

(select case when sum(pr.quantity)is null 0 else sum(pr.quantity)end q3 purchasereturn pr pc.pcode=pr.prdcode )as prrqty 

note allowed if subquery returns single value; otherwise, don't know of values should assigned column.

if expect subqueries return multiple values , want arbitrary one, use top 1 in subquery return 1 value. otherwise, you'll have debug each subquery figure out returns multiple results , causing issue.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -