تمرين إعادة البناء
CTE Paid Totals
أعد كتابة تقرير يستخدم CTE لحساب إجمالي الطلبات المدفوعة.
sql
~12 دقيقة
متوسط
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
-- Drill 19 — CTE لتجميع الطلبات المدفوعة — SQLite 3.x+
CREATE TABLE orders (
customer_id INTEGER NOT NULL,
status TEXT NOT NULL,
total_halalas INTEGER NOT NULL,
cancelled_at TEXT
);
INSERT INTO orders VALUES
(1, 'paid', 5000, NULL),
(1, 'paid', 7000, NULL),
(1, 'paid', 9000, 'cancelled'),
(2, 'draft', 3000, NULL);
WITH valid_paid_orders AS (
SELECT customer_id, total_halalas
FROM orders
WHERE status = 'paid'
AND cancelled_at IS NULL
)
SELECT
customer_id,
SUM(total_halalas) AS total_paid_halalas
FROM valid_paid_orders
GROUP BY customer_id;اكتب هنا