Skip to content

Homework 5+ 6 submission#6

Open
SupermanRitz wants to merge 6 commits intomainfrom
homework
Open

Homework 5+ 6 submission#6
SupermanRitz wants to merge 6 commits intomainfrom
homework

Conversation

@SupermanRitz
Copy link
Copy Markdown
Owner

@SupermanRitz SupermanRitz commented May 26, 2024

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)

Homework 5 submission
Homework 6 submission

What did you learn from the changes you have made?

SQLite is very limited vs SQL Server

Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?

Using OUTER APPLY would have save a lot of time on the "UPDATE" challenge

Were there any challenges? If so, what issue(s) did you face? How did you overcome it?

How were these changes tested?

Tested against sample DB to check for expected results

A reference to a related issue in your repository (if applicable)

Checklist

  • I can confirm that my changes are working as intended

@SupermanRitz SupermanRitz changed the title Homework 5 submission Homework 5+ 6 submission May 27, 2024
Copy link
Copy Markdown

@amanda-ng518 amanda-ng518 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HW5: 8/8

INSERT Q2
INSERT INTO product_units (product_id, product_name,
product_size, product_category_id, product_qty_type, snapshot_timestamp)
SELECT
product_id,
product_name,
product_size,
product_category_id,
product_qty_type,
CURRENT_TIMESTAMP
FROM product AS p
WHERE product_id = 7

DELETE Q1
WITH older_record AS
(SELECT product_id
,MIN(snapshot_timestamp) AS snapshot_timestamp
FROM product_units
WHERE product_id = 7)
DELETE FROM product_units
WHERE (product_id =
(SELECT product_id
FROM older_record
)
AND snapshot_timestamp =
(SELECT snapshot_timestamp
FROM older_record
))

UPDATE Q1
ALTER TABLE product_units
ADD current_quantity INT;
UPDATE product_units
SET current_quantity = (
SELECT current_quantity
FROM (
SELECT p.product_id, COALESCE(quantity,0) as current_quantity
FROM product_units p
LEFT JOIN (
SELECT *
,ROW_NUMBER() OVER( PARTITION BY vi.product_id ORDER BY market_date DESC) AS rn
FROM vendor_inventory vi
) vi ON p.product_id = vi.product_id
WHERE rn = 1
OR rn IS NULL
) p
WHERE product_units.product_id = p.product_id);

Copy link
Copy Markdown

@amanda-ng518 amanda-ng518 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HW6: 8/8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants