2017-10-25 1 views
-2

Ich habe drei Tabellen eins ist SaleinfoTB zweite Tabelle ist StarReadingEndReading und 3. Tabelle ist ExpenseinfoTb in der SaleinfoTB-Tabelle möchte ich SummeBill-Spalte und StartReadingEndReading-Tabelle Summe ich möchte ActualSell Spalte und Plus sowohl Sum und Minuten von ExpenseintoTB Tabellenspalte BetragWie man drei Tabellen mit Aggregatfunktionen in Sql Server

wählen SUM ((SaleinfoTB.TotalBill) + SUM (StartReadingEndReading.ActualSell)) -

(SUM (ExpenseinfoTB.Amount)) von SaleinfoTB, SaleinfoTB, ExpenseinfoTB

wo SaleinfoTB.Date = StartReadingEndReading.ReadingD

und ExpenseinfoTB.ExpenseDate = SaleinfoTB.Date

und ExpenseinfoTB.ExpenseDate = StartReadingEndReading.ReadingDate

+0

Können Sie genauer beschreiben, was Sie zu tun versuchen? Wenn Sie nur ein Code-Snippet veröffentlichen, erhalten Sie nicht genügend Informationen, um Ihre Frage zu beantworten. – danjuggler

+0

zuerst verwenden explizite JOINS wie INNER JOIN für diese Angelegenheit .... 2. Was ist das Problem hier? – maSTAShuFu

+0

Sorry für meine Frage, die nicht klar ist, habe ich bearbeiten meinen Beitrag und fügen Sie einige Informationen über meinen Beitrag –

Antwort

0

denke ich, was an Sie bekommen ist wie die Summe der einzelnen Elemente erhalten, bevor Sie die Zugabe tun/Subtraktion

SELECT (ISNULL(SaleinfoTB.SumTotalBill,0) 
    + ISNULL(StartReadingEndReading.SumActualSell,0)) 
    - ISNULL(ExpenseinfoTB.SumAmount,0) 
FROM 
    (SELECT SUM(TotalBill) SumTotalBill, [Date] 
      FROM SaleinfoTB 
      Group By [Date])SaleinfoTB 
    INNER JOIN 
    (SELECT SUM(ActualSell) SumActualSell, ReadingDate 
      FROM StartReadingEndReading 
      Group By ReadingDate)StartReadingEndReading 
     ON SaleinfoTB.[Date]=StartReadingEndReading.ReadingDate 
    INNER JOIN 
    (SELECT SUM(Amount) SumAmount, ExpenseDate 
      FROM ExpenseinfoTB 
      Group By ExpenseDate)ExpenseinfoTB 
     ON ExpenseinfoTB.ExpenseDate=SaleinfoTB.[Date] 
+0

Vielen Dank es funktioniert, aber nicht Ergebnisdaten anzeigen –

+0

Es zeigt keine Zeilen? Ist eine dieser Tabellen garantiert immer eine Zeile für das Datum? Möglicherweise müssen Sie INNER JOIN in LEFT JOIN ändern, aber es hängt davon ab, welche Tabellen die Daten enthalten. Wenn Sie Ihren Post bearbeiten können, um Beispieldaten aufzunehmen, kann ich wahrscheinlich mehr helfen. – indiri

+0

Danke Wieder ist es funktioniert 100% –