2013-05-14 4 views
-1

Я прошел два запроса в inn и out столбец псевдонима, и я хочу, чтобы это сделать res=(inn-out), но он дает мне ошибкуВычтите колонок два псевдонима в SQL Server

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 

ответ

2

Попробуйте это гостиница и выезд могут быть указаны только за пределами

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 
+0

спасибо работал хорошо –

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 
+0

Любая проблема или просто случайный downvote? – hims056

Смежные вопросы