2010-06-18 50 views
0

我有一個視圖,如下所示。我需要使用1列中的值的總和作爲視圖中另一列的參考的一部分

SELECT  TOP (100) PERCENT 'SA' AS Doc_Type1, 'A' + SUBSTRING('000000', 1, 6 - LEN(CAST(dbo.companies.companyId AS varchar(10)))) 
         + CAST(dbo.companies.companyId AS varchar(10)) AS Client_ID, 1200 AS Bank_Nom, 0 AS Department, CONVERT(nvarchar(20), 
         dbo.invoices.invoiceDatePaid, 103) AS Cleared_Date, 'Bacs' AS Payment_type, dbo.invoices.invoiceId, dbo.invoices.invoiceTotal AS Value, '9' AS vat, 
         ' ' AS bllank, 1 AS Ex_rate 
FROM   dbo.invoices INNER JOIN 
         dbo.companies ON dbo.invoices.invoiceCompanyId = dbo.companies.companyId 
WHERE  (dbo.invoices.invoiceDatePaid >= DATEDIFF(DAY, 1, CURRENT_TIMESTAMP)) AND (dbo.invoices.invoiceDatePaid < DATEDIFF(DAY, 0, 
         CURRENT_TIMESTAMP)) AND (dbo.companies.companyPaymentType = 3) 
ORDER BY dbo.invoices.invoiceId DESC 

在Payment_Type專欄中,我希望值列的SUM添加到單詞「巴奇」,所以它讀取「巴奇£總和」到小數點後2位。您能否提供幫助請致電問候並提供所有已提供的幫助和建議:

回答

0

我不清楚您到底需要什麼。您需要完整顯示整個列的總和或以組的方式顯示,但這裏是您可以嘗試的方法。在將其轉換爲varchar後添加總和(Value),這是必需的,因爲兩個數據類型必須是varchar才能集中和由所有剩餘columns..something這樣

....

'巴奇' +鑄造(總和(dbo.invoices.invoiceTotal) 爲varchar)AS Payment_type

...

組由所有其餘的列

...

ORDER BY子句

我不知道它是否甚至接近你所需要的,但它只是一種嘗試以幫助:-)

+0

嗨,我需要在付款類型列'bacs'文本旁邊顯示列invoiceTotal(值)的總和。我之前曾嘗試過您的建議,但由於某些原因未能解析。拋出關於公司ID的錯誤! – 2010-06-18 11:36:46

+0

已將剩餘列設置爲group by,但按子句排序可能是我的錯誤,我認爲 – 2010-06-18 12:20:00

相關問題