0

当我运行下面的选择时,我没有在结果集中得到 Field3,为什么?

    Select 
        a.Field1,
        a.Field2,
        a.Field3,
        sum(IsNull(a.Field4, 0)) AS SomeAlias1,
        a.SomeField5,
        a.SomeField6,
        a.SomeField7
From SomeTable a
INNER JOIN SomeView1 v on v.au = a.au
inner join (select Username, House from Users userBuildings where UserName = @UserName) as userHouses on userHouses.au = a.au
WHERE
(((where claus logic here....

Group BY    a.Field1, 
        a.Field2, 
        a.SomeAlias1, 
        a.Field3,
        a.Field4,
        a.Field5,
        a.Field6,
        a.Fielf7
)

Select 
    transBudget.Field1,
    transBudget.Field2,
    transDiscount.Field4,
    ... some other fields...
    IsNull(transDiscount.Actual, 0) - IsNull(transBudget.Actual, 0) AS Variance 
from (Select * from Transactdions Where TransDesc = 'Budget') AS transBudget
    FULL OUTER JOIN
    (Select * from Transactions Where TransDesc = 'Discount') AS transDiscount
        ON transBudget.Market = transDiscount.Market AND transBudget.SubMarket = transDiscount.SubMarket

出于某种原因,我看到了除 Field3 之外的所有领域,这到底是如何发生的,这超出了我的理解。

4

1 回答 1

2

在查询的第二部分中,您缺少字段 3。

Select 
    transBudget.Field1,
    transBudget.Field2,
    transDiscount.Field4,
    ... some other fields...
    IsNull(transDiscount.Actual, 0)

您似乎在那里有两个单独的 SQL 查询。第一个包含 Field3,但第二个不包含。

于 2012-07-05T16:11:17.093 回答