2012-01-30 33 views
-2

我有這些表 Tables 我想有這樣的SQL SELECT查詢 - 在ONR列顯示相關記錄

╭────────────┬────────────┬──────┬────────────────────────┬────────────────────────╮ 
│ InvoiceID │ Date │ Sum │ SUM(RecietInvoice.Sum) │ RecietInvoice.RecietID │ 
├────────────┴────────────┴──────┴────────────────────────┴────────────────────────┤ 
│  1  │ 11/11/2010 │ 1200 │   1200   │  34,45   │ 
╰────────────┴────────────┴──────┴────────────────────────┴────────────────────────╯ 

在我想要的RecietInvoice.RecietID結果讓所有的RecietID此發票。

+0

看一看http://i.imgur.com/goWIq.png我想有線路29,30,31爲單行與RecietID爲「7,8,9」 – Kulpemovitz 2012-01-30 20:54:32

+1

如果您需要使用逗號分隔列表的幫助,請嘗試以下方法:http://stackoverflow.com/questions/3024456/displaying-a-field-as-a-comma- separate-list-in-reporting-services-2005 – 2012-01-30 20:58:32

+0

我想知道10x是什麼意思。 (我想我的網站數量增加了10倍) – Hogan 2012-01-30 21:04:54

回答

2

這裏有一種方法(未經測試可能有錯別字)

Select I.InvoiceID, I.Date, RI.Sum, 
    SUM(R.CashTotal) OVER(PARTITION BY I.InvoiceID) 
    stuff((SELECT ', '+CAST(RecietR2.RecietID as varchar(max)) 
      FROM Reciet R2 
      WHERE RecietR2.InvoiceID = I.InvoiceID 
      FOR XML PATH ('') 
      ), 1, 2, '') as RecietIDs 
FROM Invoice I 
LEFT JOIN RecietInvoice RI ON I.InvoiceID = RI.InvoiceID 
LEFT JOIN Reciet R ON RI.RecietID = R.RecietID 
+0

Msg 156,Level 15,State 1,Line 6 關鍵字'ORDER'附近的語法錯誤。 – Kulpemovitz 2012-01-30 21:17:36

+0

聽起來像你有不正確的語法...粘貼你做了什麼(也許pastebin是一個好點) – Hogan 2012-01-30 21:18:52

+0

@Kulpemovitz好吧,我看到一個錯字,我沒有演員。我是因爲誰在乎而拿出訂單的?試試這個版本。 – Hogan 2012-01-30 21:24:08