2017-04-03 1 views
0

lasst uns sagen, ich habe die folgende Tabelle:MYSQL: Wählen Sie, wo

ID, Name ,insurance , per_diem, net_salary, rr, rent, other_allowances 
1, John  1000   0   2000  0 0   0 
2, Jim  1000   0   2000  0 0   0 
3, Steve 500   0   3000  0 0   0 
4, Tom  0    0   0  0 0   0 

ich die folgende Abfrage

SELECT Sum((((((applicant.insurance + applicant.per_diem) + 
       applicant.net_salary) + applicant.rr) + applicant.rent) + 
       applicant.other_allowances)) As available_fund 
WHERE applicant.id = id; 
From applicant 

ich so etwas wie Summe wollen laufen für jede Person bekommen

es ist möglich?

+0

Wenn Sie den Fehler, den Sie hinterlassen werden, könnten die Menschen schneller helfen. In Ihrem Beispiel sollte die FROM ... -Klausel vor der WHERE-Klausel stehen ... Auch scheint die Bedingung in der WHERE-Klausel keinen Sinn zu ergeben. Schließlich brauchen Sie nicht so viele Klammern. –

+0

Kleinere Formatierungsänderung in SQL-Teil –

Antwort

0

Sie zuerst verwenden müssen, dann verwenden, wenn

 SELECT Sum(applicant.insurance + applicant.per_diem + 
       applicant.net_salary + applicant.rr + applicant.rent + 
       applicant.other_allowances) As available_fund 
    From applicant 
    group by applicant.id 

es wird allen Mitarbeitern Summe geben, aber wenn Sie etwas partikulären Mitarbeiter erhalten möchten dann setzen where Zustand

WHERE applicant.id = id 
+0

Aber das hat das Ergebnis für einen Datensatz. nicht für alle Datensätze –

+0

hast du mit ohne wo und mit der Gruppe benutzt? –

+0

Hallo, es funktioniert, aber das Ergebnis dupliziert verschachtelt, um 4 Datensätze zu erhalten, bekam 12 Datensätze. –