2013年7月8日 星期一

[除錯] 大表(表頭)從小表(明細)取得計算的資料(sum,count,max,min,etc...), 並join到大表(表頭)

ERROR:
因為它並未包含在彙總函數或 GROUP BY


解決:
        Dim dt_month = staffDB.DataTable("select a.*,isnull(b.行政費用總計,0) as 行政費用總計 from [salary_month] a left join ( select salary_month_sn,sum(金額) as 行政費用總計 from [salary_month_others] Group by salary_month_sn ) b on a.sn = b.salary_month_sn where a.emp_sn = " & staffarr(0) & ";", Nothing, Nothing)


(可略)
        Dim dt_month_others = staffDB.DataTable("SELECT * FROM [salary_month_others] WHERE emp_sn =" & staffarr(0) & " and salary_month_sn = " & If(dt_month.Rows.Count > 0, dt_month.Rows(0)("sn").ToString, "0") & "", Nothing, Nothing)


參考:
EXISTS (Transact-SQL)
order by后有多个条件怎么写?
最近在使用Microsoft SQL Server Management Studio
SQL語法問題
請問group群組然後select
mssql group by的問題
grouping 排序的問題 (解決處)
sum left join 多次引发的问题
急..Help..Join 無明細資料時怎麼顯示主檔,且sum欄位
SQL group by 詳細用法
SQL group by用法
SQL::GROUP BY, COUNT and HAVING
多個各自count之後還要join成一張表

沒有留言:

張貼留言