-
Notifications
You must be signed in to change notification settings - Fork 0
/
q10_christmas.sql
64 lines (58 loc) · 1.21 KB
/
q10_christmas.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
WITH
CTE_A AS (
SELECT
'Order'.Id AS order_id,
CustomerId,
strftime('%Y-%m-%d', OrderDate) AS new_date,
ProductId
FROM
'Order'
JOIN
OrderDetail ON OrderDetail.OrderId = 'Order'.Id
WHERE
new_date = '2014-12-25'
),
CTE_B AS (
SELECT
order_id,
ProductId
FROM
Customer
JOIN
CTE_A ON CTE_A.CustomerId = Customer.Id
WHERE
CompanyName = 'Queen Cozinha'
),
CTE_C AS (
SELECT
ROW_NUMBER() OVER (ORDER BY ProductId ASC) row_num,
ProductName
FROM
CTE_B
JOIN
Product ON Product.Id = CTE_B.ProductId
),
CTE_D AS (
SELECT
row_num,
ProductName
FROM
CTE_C
WHERE
row_num = 1
UNION
SELECT
CTE_C.row_num,
CTE_D.ProductName || ', ' || CTE_C.ProductName
FROM
CTE_C
JOIN
CTE_D ON CTE_D.row_num + 1 = CTE_C.row_num
)
SELECT
ProductName
FROM
CTE_D
ORDER BY
row_num DESC
LIMIT 1;