Sales Table
Item_Name Unit_Sold
Tea 10
Coffee 25
Notebook 5
iPhone 20
Apple 50
Price Table
Item_Name Location Unit_Price
Coffee East 5.00
Coffee West 5.00
iPhone West 600.00
iPhone North 600.00
iPhone South 500.00
Tea North 6.00
Tea South 6.00
Notebook North 550.00
Apple West 2.00
Apple South 2.00
Apple North 2.00
And we need a report that shows area wise sales report, something like the following.
| Item Sold | Unit_Sold | East | West | South | North |
| Tea | 20 | 0 | 0 | 6 | 6 |
| Notebook | 5 | 0 | 0 | 0 | 550 |
| Coffee | 50 | 5 | 5 | 0 | 0 |
| iPhone | 60 | 0 | 600 | 600 | 500 |
| Apple | 150 | 0 | 2 | 2 | 2 |
By the usage of CASE expressions within a SUM function in the select clause which is similar in Oracle, we can achieve the desired output. Here is the code, do not forget to use Group By clause.
SELECT sales.Item_Name AS “Item Sold”,
SUM (Sales.unit_sold) AS Unit_Sold,
price.unit_price as “Unit Price”,
SUM (case when price.location = ‘East’ THEN price.unit_price*Sales.unit_sold else 0 END)
AS “Sales in East” ,
SUM (case when price.location = ‘West’ THEN price.unit_price*Sales.unit_sold else 0 END)
AS “Sales in West”,
SUM (case when price.location = ‘South’ THEN price.unit_price*Sales.unit_sold else 0 END)
AS “Sales in South”,
SUM (case when price.location = ‘North’ THEN price.unit_price*Sales.unit_sold else 0 END)
AS “Sales in North”
FROM sales, price
WHERE sales.item_name = price.item_name
GROUP BY sales.item_name, price.unit_price
Our Random Articles
- Somdev Devvarman ousts Xavier Malisse 6-1, 3-6,7-6(5)
- How To Choose A Good Online Traffic School
- New Year Wishes 2010
- New Year Wishes
- How to use EXTRACT function with date and time columns
More Links




4 Comments
Material that you are providing is very easy to learn. But it is much better than this , if you ll give the full material of this at ONE LINK.
Thank you
Suresh.
That is right Suresh. This is the reason I have given all the links in one page, please visit this
http://readvitamin.com/teradata/
Hope this helps.
Hi. Can anyone tell me how to extract time from timestamp?
For Example
timestamp=’2008-03-28 14:11:04′
i want time ’14:11:04′ from timestamp through query.
Thanks in advance.
Hi Vaideesh,
If you need only time, you can probably try the following;
SELECT time;
To answer your question you should do something like this.
SELECT CAST(VaideeshTime as time(0)) from timestamp;
VaideeshTime
——–
14:11:04
Hope that helps.