I'm working on a sql project and I'm not sure if I'm answering the questions correctly. I don't have the schema or table with me at the moment and I just want a general critique on whether or not what I'm doing is correct.
QUESTIONS:
-
List the first name, last name, sales rep ID, commission class, and commission rate for all Sales Reps. Concatenate the first and last names together. Sort by last name in ascending order, and use the following column headings: SalesRep_Name, Sales_Rep_ID, Commission_Class, Commission_Rate.
-
List all rows and all columns from OrderDetail; sort by Order ID then by Product ID, both in ascending order; format the Product Price as currency.
-
For all customers, list the customer ID, customer first name, customer last name, and customer phone number, along with the sales rep ID, sales rep first name, and sales rep last name of the sales rep to whom that customer belongs; sort by Customer ID in ascending order; format the phone number as ‘(###) ###-####’ by using concatenation and the SUBSTR function. Use the following column headings: CustID, CustFirstName, CustLastName, CustPhone, SalesRepID, SalesRepFirstName, SalesRepLastName.
-
List the department ID, department name, sales rep ID, first name, last name, commission class, and commission rate of the sales rep(s) who earn the highest commission in each department. Use the following column headings: Dept_ID, Dept_Name, Sales_Rep_ID, First_Name, Last_Name, Commission_Class, Commission_Rate.
SQL statements:
--question 1
SELECT (SalesLName || ' , ' || SalesFName) AS SalesRep_Name, SalesRepID AS Sales_Rep_ID, salesR.Comm_Class AS Commission_Class, Comm_Rate AS Commission_Rate
FROM Sales_Report_exp salesR, Commission_exp Com
WHERE salesR.Comm_Class = Com.Comm_Class
ORDER BY salesR.SalesLName ;
--question 2
SELECT ORDT.OrderID AS Order_ID, Pro.ProdID AS ProductID,to_char(ProdPrice,'$99.99') AS ProductPrice
FROM Order_Detail_mys ORDT, Product_mys Pro
WHERE ORDT.ProdID = Pro.ProdID
ORDER BY ORDT.OrderID ASC, Pro.ProdID ASC;
--question 3
SELECT Cus.CustID AS CustID,CustFName AS CustFirstName,CustLName AS CustLastName,('(' || SUBSTR(Cus.CustPhone,1,3) || ')' || SUBSTR(Cus.CustPhone,4,3) || '-' || SUBSTR(Cus.CustPhone,7,4)) AS CustPhone,salesR.SalesRepID AS SalesRepID,SalesFName AS SalesRepFirstName,SalesLName AS SalesRepLastName
FROM Customer_mys Cus,Sales_Report_mys salesR
WHERE Cus.SalesRepID=salesR.SalesRepID
ORDER BY CustID;
--question 4
SELECT DeP.Dept_ID AS Dept_ID, Dept_Name AS Dept_Name, salesR.SalesRepID AS Sales_Rep_ID,
SalesFName AS First_Name, SalesLName AS Last_Name,
CoM.Comm_Class AS Commission_Class , Comm_Rate AS Commission_Rate
FROM Department_mys DeP, Sales_Report_mys salesR, Commission_mys CoM
WHERE DeP.Dept_ID = salesR.Dept_ID AND CoM.Comm_Class = salesR.Comm_Class
AND (DeP.Dept_ID,CoM.Comm_Rate) IN (SELECT DeP.Dept_ID,MAX(CoM.Comm_Rate) FROM Sales_Report_mys salesR, Commission_mys CoM, Department_mys DeP
WHERE CoM.Comm_Class = salesR.Comm_Class
AND DeP.Dept_ID = salesR.Dept_ID
GROUP BY DeP.Dept_ID);
Aucun commentaire:
Enregistrer un commentaire