2016-05-03 19 views
0

Ich möchte Kosten insgesamt von Einkommen Gesamttabellen subtrahieren, aber ich bekomme eine falsche Zahl, wenn ich die Abfrage ausführen.Wie kann ich von zwei Tabellen subtrahieren

<?php 
$query="SELECT income.Source 
      ,SUM(income.Amount) as in_Amount 
      ,SUM(expenses.Amount) as out_Amount 
      ,SUM(income.Amount) - SUM(expenses.Amount) as total 
     FROM income as income 
      , expenses"; 

$result=mysql_query($query); 

while($row=mysql_fetch_array($result)){ 
    echo '<p class="stat"><span class="label label-danger">' . $row['total']. '</span> Naira Net Income</p>'; 
} 
?> 

Die Einkommenstabelle insgesamt 40000 hat, während die Ausgaben Tabelle insgesamt 5000 hat, ich 30000 als Ergebnis der Abfrage erhalten.

+0

Die Tabelle Einnahmen und Ausgaben sind verwandt? – scaisEdge

+0

Ja, aber zwei verschiedene Tabellen – SUCCESSGANDE

+0

Wie die beiden Tabellen verwandt sind ..? Welche Spalte könnte für die Einkommenszeilen mit den Ausgabenzeilen verwandt werden? – scaisEdge

Antwort

0

Sie tun einen Beitritt, sollten Sie Unterabfragen tun. Versuchen Sie dies:

SELECT Source, in_Amount, out_Amount, total_income - total_expenses FROM 
(
    SELECT income.Source, SUM(income.Amount) as in_Amount, SUM(expenses.Amount) as out_Amount, 
    (SELECT SUM(income.Amount)) AS total_income, 
    (SELECT SUM(expenses.Amount)) AS total_expenses 
    FROM income as income, expenses 
) t 
+0

Ich habe einen Fehler erhalten, bitte vereinfachen – SUCCESSGANDE

Verwandte Themen