2016-11-30 2 views
0

Ein wenig auf diesem stecken ..Berechnen Sie die Provision für jeden Vertriebsmitarbeiter

Frage: Berechnen Sie die Provision für jeden Vertriebsmitarbeiter, unter der Annahme der Provision beträgt 5% der Kosten eines Auftrages. Sortiert nach Mitarbeiter Nachname und Vorname.

für diese Datenbank .. http://richardtwatson.com/dm6e/images/general/ClassicModels.png

Heres, was ich habe ..

SELECT salesRepEmployeeNumber, amount * orderNumber AS commission, 
CONCAT(firstName, ' ', lastName) AS sales_rep 
    FROM Customers, Payments, Employees, Orders 
    WHERE Payments.customerNumber= Customers.customerNumber 
     AND (amount * orderNumber) * .05` 

`

aber offensichtlich mit dieser Abfrage geht nicht, wo!

TIA

+0

(1) Sie bitte Ihre SELECT bearbeiten und machen es besser lesbar. (2) Sie rufen Daten von 4 Tabellen ab und es ist nicht klar, wie man zwischen ihnen synchronisiert (Sie würden mindestens 3 Bedingungen benötigen, um spezifische Aufzeichnungen von jeder Tabelle zu wählen, und Sie haben nur 1.5). (3) Weniger wichtig, aber Sie berechnen 50% und nicht 5%. Ich nehme an, dass Sie neu in SQL sind, oder? – FDavidov

+0

Ich habe die Abfragen bearbeitet, um sie lesbarer zu machen. Um Ihre Fragen zu beantworten, ja, ich bin neu, ich habe versucht, diese Abfrage seit 3 ​​Stunden zu lösen, und ich denke, ich habe gerade angefangen, es zu verlieren und in Dinge eingetreten, die überhaupt keinen Sinn ergeben. Brauche noch Hilfe dazu. Vielen Dank. – binmop

+0

Gibt es keine Beziehung zwischen Zahlungen und Bestellungen? – McNets

Antwort

0

Okay, so denke ich, dass ich es herausgefunden haben kann .. wenn es ein einfacherer Weg, lass es mich wissen!

SELECT Customers.salesRepEmployeeNumber, CONCAT(firstName, ' ', lastName) AS Employee, (amount*5)/100 AS commission 
FROM Customers, Payments, Employees 
WHERE Payments.customerNumber= Customers.customerNumber 
ORDER BY lastName, firstName; 
0
SELECT c.salesRepEmployeeNumber, CONCAT(firstName, ' ', lastName) AS Employee,(amount*0.05) AS commission 
FROM Customers as c 
join Payments as p 
    on c.customerNumber=p.customerNumber 
join Employees as e 
    on p.customerNumber=e.customerNumber 
ORDER BY lastName, firstName; 
Verwandte Themen