-1

我将两个查询传递给别名列innout我想这样做, res=(inn-out)但它给了我一个错误

Invalid column name 'inn'.
Invalid column name 'out'.
?

select productname
,inn=isnull((select sum(orderqty) 
               from purchasing.purchaseinvoicedetail 
              where productfk=Production.product.productid ),0)
,outt=isnull((select sum(orderqty) 
                from sales.salesinvoicedetail 
               where productfk=Production.product.productid  ),0) 
,res=(inn-outt)
from production.product
4

2 回答 2

2

试试这个客栈,outt只能在外面引用

    Select a.*,inn-outt As [DiffValue] from
    (
    select productname,inn=isnull((select sum(orderqty) from purchasing.purchaseinvoicedetail where productfk=Production.product.productid ),0),
        outt=isnull((select sum(orderqty) from sales.salesinvoicedetail where productfk=Production.product.productid  ),0) 
        from production.product

        ) As a
于 2013-05-14T05:59:52.203 回答
0

试试这个:

SELECT t.*, t.Inn - t.outt AS Res
FROM
(
select productname
,inn=isnull((select sum(orderqty) 
               from purchasing.purchaseinvoicedetail 
              where productfk=Production.product.productid ),0)
,outt=isnull((select sum(orderqty) 
                from sales.salesinvoicedetail 
               where productfk=Production.product.productid  ),0) 
from production.product
) t
于 2013-05-14T06:06:32.757 回答