SQL Exercises: Make a report with customer name, city, order number, date, amount salesman name and commission to find either any of the existing customers have placed no order or placed one or more orders by their salesman or by own
SQL JOINS: Exercise-11 with Solution
SQL statement to generate a report with customer name, city, order number, order date, order amount, salesperson name, and commission to determine if any of the existing customers have not placed orders or if they have placed orders through their salesman or by themselves.
Sample table: customer
Sample table: orders
Sample table: salesman
Sample Solution:
SELECT a.cust_name,a.city, b.ord_no,
b.ord_date,b.purch_amt AS "Order Amount",
c.name,c.commission
FROM customer a
LEFT OUTER JOIN orders b
ON a.customer_id=b.customer_id
LEFT OUTER JOIN salesman c
ON c.salesman_id=b.salesman_id;
Output of the Query:
cust_name city ord_no ord_date Order Amount name commission Brad Guzan London 70009 2012-09-10 270.65 Pit Alex 0.11 Nick Rimando New York 70002 2012-10-05 65.26 James Hoog 0.15 Geoff Cameron Berlin 70004 2012-08-17 110.50 Lauson Hen 0.12 Brad Davis New York 70005 2012-07-27 2400.60 James Hoog 0.15 Nick Rimando New York 70008 2012-09-10 5760.00 James Hoog 0.15 Fabian Johnson Paris 70010 2012-10-10 1983.43 Mc Lyon 0.14 Geoff Cameron Berlin 70003 2012-10-10 2480.40 Lauson Hen 0.12 Jozy Altidor Moscow 70011 2012-08-17 75.29 Paul Adam 0.13 Nick Rimando New York 70013 2012-04-25 3045.60 James Hoog 0.15 Graham Zusi California 70001 2012-10-05 150.50 Nail Knite 0.13 Graham Zusi California 70007 2012-09-10 948.50 Nail Knite 0.13 Julian Green London 70012 2012-06-27 250.45 Nail Knite 0.13
Explanation:
Pictorial presentation:
Practice Online
Query Visualization:
Duration:
Rows:
Cost:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a SQL statement to make a report with customer name, city, order number, order date, and order amount in ascending order according to the order date to find that either any of the existing customers have placed no order or placed one or more orders.
Next: Write a SQL statement to make a list in ascending order for the salesmen who works either for one or more customer or not yet join under any of the customers.
Test your Programming skills with w3resource's quiz.
What is the difficulty level of this exercise?
SQL: Tips of the Day
SQL Server SELECT into existing table.
INSERT INTO dbo.TABLETWO SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
This assumes there's only two columns in dbo.TABLETWO - you need to specify the columns otherwise:
INSERT INTO dbo.TABLETWO (col1, col2) SELECT col1, col2 FROM dbo.TABLEONE WHERE col3 LIKE @search_key
Database: SQL Server
Ref: https://bit.ly/3y6tpA3
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework