2013-09-16 5 views
0

Table1Многостоловой Регистрация добавления столбцов SQL Server

ID  FID DID 
1  91  9 
2  92  9 
3  34  862 

Table2

FID  Office Name 
9  CompABC 
862  CompXYZ 

Таблица3

FID  TotalInvoice 
91  850 
91  450 
91  450 
92  450 
34  300 
34  325 

Результаты запроса я пытаюсь достичь, как так

9 CompABC 2200 
862 CompXYZ 625 

Я пытался что-то вроде

Select SUM(t3.TotalInvoice) as InvoiceTotal 
,t2.[Office Name] 
from Table2 t2 
inner join table1 t1 on t2.FID = t1.DID 
inner join table3 t3 on t1.FID = t3.FID 

DID на самом деле являются субъектами Table1 поэтому полный список будет включать в себя сам.

Я получаю неправильные результаты здесь любая помощь будет оценена.

ответ

1

Попробуйте это:

select t2.FID, t2.[Office Name], SUM(t3.TotalInvoice) 
from Table2 t2 
join Table1 t1 on t2.FID = t1.DID 
join Table3 t3 on t1.FID = t3.FID 
group by t2.FID, t2.[Office Name] 
+0

http://sqlfiddle.com/#!3/66912/1/0 - вы бьете меня к нему, так что я положил свой запрос в SQL скрипку. – Derek

+0

@Derek - удивительный ... спасибо. – zigdawgydawg

+0

Ну, я попробовал несколько комбинаций. Спасибо за ваш ответ. Я получаю разные результаты, но если я просто выберите SUM (t3.TotalInvoice), где FID = 9 - это точно «количество раз 9 в поле FID», деленное на Значение, которое я получаю, когда запускаю ваш запрос. – gurugarzah

Смежные вопросы