2012-07-05 91 views
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以外的每個字段,它超出了我的這種可能性。

+0

第二個查詢 - >選擇 transBudget.Field1, transBudget.Field2, transDiscount.Field4 ...你還沒有選擇Field3 ??? – Dinesh 2012-07-05 16:11:35

+0

請參閱我對NYSystemsAnalyst的評論。 – PositiveGuy 2012-07-05 16:14:34

+0

這很好,從表中選擇你想返回的最終結果。 – Dinesh 2012-07-05 16:18:13

回答

2

在查詢的第二部分,你缺少場3

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

你似乎有兩個單獨的SQL查詢存在。第一個包含Field3,但第二個不包含。

+0

以下是在第二個查詢中添加它的問題。 transDiscount和transBudget都有一個Field3,所以我如何返回一個Field3?這就好,都有一個Field3,所以我選擇哪個?所以我的意思是transBudget.Field3或transDiscount.Field3 ??這兩個人都有一個Field3 – PositiveGuy 2012-07-05 16:12:10

+0

它看起來像你正在從事務表到自己進行自我連接。因此,transBudget和transDiscount都具有相同的字段。你如何決定使用transBudget中的Field1和Field2與使用transDiscount中的Field4? – NYSystemsAnalyst 2012-07-05 16:18:09

+0

謝謝紐約州,不知道這是如何與自我加入合作。 – PositiveGuy 2012-07-05 18:02:23

相關問題