得到記錄,我有到SQL Server 2008頁的表如下如何從SQL
表A
ID int Not Null (primary ID)
No int NULL
Value int NULL
Flag nchar(10) NULL
表B
ID int Not Null (primary ID)
No int NULL
Value int NULL
Flag nchar(10) NULL
,我有以下數據表A
ID No Value Flag
1 1 12 1
2 1 12 1
3 1 25 1
4 2 120 1
5 3 36 2
6 2 120 2
7 6 1 1
8 2 10 1
9 6 10 2
10 1 25 2
11 2 120 1
當我寫如下語句
有表B中 沒有記錄
SELECT dbo.A.No, SUM(dbo.A.Value) AS [IN], SUM(ISNULL(dbo.B.Value, 0)) AS OUT
FROM dbo.A LEFT OUTER JOIN
dbo.B ON dbo.A.NO = dbo.B.NO
WHERE (dbo.A.Flag = N'1')
GROUP BY dbo.A.No
我得到以下結果
No IN OUT
1 49 0
2 250 0
6 1 0
當我添加WHERE (dbo.A.Flag = N'1') AND (dbo.B.Flag = N'1')
什麼來了..
我的問題是如何從B表中獲取記錄爲0當B不是con tains記錄或找不到B.Id
更新: 當我在表B中的數據然後記錄即將到來。
你在期待輸出什麼?標誌形式B以及? – SMA 2014-10-28 11:04:51
'外部'表應該在連接中過濾,而不是在哪裏。 – 2014-10-28 11:33:35