SQL Challenges-1: Sale history of items for a particular period
SQL Challenges-1: Exercise-37 with Solution
From the following table write a SQL query to display those items that were only sold in the 2nd quarter of a year, i.e. April 1st to June end for the year 2020. Return item code and item description.
Input:
Table: item
Structure:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
item_code | int(11) | NO | PRI | ||
item_desc | varchar(255) | YES | |||
cost | int(11) | YES |
Data:
item_code | item_desc | cost |
---|---|---|
101 | mother board | 2700 |
102 | RAM | 800 |
103 | key board | 300 |
104 | mouse | 300 |
Table: sales_info
Structure:
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
distributor_id | int(11) | YES | |||
item_code | int(11) | YES | |||
retailer_id | int(11) | YES | |||
date_of_sell | date | YES | |||
quantity | int(11) | YES | |||
total_cost | int(11) | YES |
Data:
distributor_id | item_code | retailer_id | date_of_sell | quantity | total_cost |
---|---|---|---|---|---|
5001 | 101 | 1001 | 2020-02-12 | 3 | 8100 |
5001 | 103 | 1002 | 2020-03-15 | 15 | 4500 |
5002 | 101 | 1001 | 2019-06-24 | 2 | 5400 |
5001 | 104 | 1003 | 2019-09-11 | 8 | 2400 |
5003 | 101 | 1003 | 2020-10-21 | 5 | 13500 |
5003 | 104 | 1002 | 2020-12-27 | 10 | 3000 |
5002 | 102 | 1001 | 2019-05-18 | 12 | 9600 |
5002 | 103 | 1004 | 2020-06-17 | 8 | 2400 |
5003 | 103 | 1001 | 2020-04-12 | 3 | 900 |
Sample Solution:
SQL Code(MySQL):
CREATE TABLE item (item_code int not null unique, item_desc varchar(255), cost int);
INSERT INTO item VALUES(101,'mother board', 2700);
INSERT INTO item VALUES(102,'RAM', 800);
INSERT INTO item VALUES(103,'key board',300);
INSERT INTO item VALUES(104,'mouse',300);
CREATE TABLE sales_info (distributor_id int, item_code int, retailer_id int, date_of_sell date, quantity int, total_cost int);
INSERT INTO sales_info VALUES(5001,101,1001,'2020-02-12',3,8100);
INSERT INTO sales_info VALUES(5001,103,1002,'2020-03-15',15,4500);
INSERT INTO sales_info VALUES(5002,101,1001,'2020-06-24',2,5400);
INSERT INTO sales_info VALUES(5001,104,1003,'2020-09-11',8,2400);
INSERT INTO sales_info VALUES(5003,101,1003,'2020-10-21',5,13500);
INSERT INTO sales_info VALUES(5003,104,1002,'2020-12-27',10,3000);
INSERT INTO sales_info VALUES(5002,102,1001,'2020-05-18',12,9600);
INSERT INTO sales_info VALUES(5002,103,1004,'2020-06-17',8,2400);
INSERT INTO sales_info VALUES(5003,103,1001,'2020-04-12',3,900);
SELECT item_code, item_desc
FROM item
WHERE item_code IN (
SELECT item_code
FROM sales_info
WHERE date_of_sell BETWEEN '2020-04-01' AND '2020-06-30'
);
Sample Output:
item_code|item_desc | ---------|------------| 101|mother board| 102|RAM | 103|key board |
SQL Code Editor:
Contribute your code and comments through Disqus.
Previous: Retailers buying history.
Next: Highest purchase for each customer.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/sql-exercises/challenges-1/sql-challenges-1-exercise-37.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics