读书人

子查询报错?不可以这么写么?解决方法

发布时间: 2011-12-27 22:22:54 作者: rapoo

子查询报错?不可以这么写么?
select stk_no,mtype,qty,doc,
(case
when doc = 'PIN ' then qty*-1
else qty
end) as newqty
from spdtran where depart= 'ZZZ ' and item_del= 'N ')
这个出来stk_no,mtype,qty,doc,newqty 5列

然后我外面套一个查询就报错

select stk_no,mtype,newqty from (
select stk_no,mtype,qty,doc,
(case
when doc = 'PIN ' then qty*-1
else qty
end) as newqty
from spdtran where depart= 'ZZZ ' and item_del= 'N ')

') ' 附近有语法错误。


[解决办法]
select stk_no,mtype,newqty from (
select stk_no,mtype,qty,doc,
(case
when doc = 'PIN ' then qty*-1
else qty
end) as newqty
from spdtran where depart= 'ZZZ ' and item_del= 'N ') t --加别名
[解决办法]
select stk_no,mtype,newqty from (
select stk_no,mtype,qty,doc,
(case
when doc = 'PIN ' then qty*-1
else qty
end) as newqty
from spdtran where depart= 'ZZZ ' and item_del= 'N ') A

最後任意加名就可以

读书人网 >SQL Server

热点推荐