-- ══════════════════════════════════════════════════════════
-- BẢNG GIÁ BĐS THEO KHU VỰC — Nâng cấp bảng thi_truong
-- Chạy từng BƯỚC trong pgAdmin → Query Tool
-- ══════════════════════════════════════════════════════════

-- ────────────────────────────────────
-- BƯỚC 1: Xem cấu trúc hiện tại
-- ────────────────────────────────────
SELECT column_name, data_type FROM information_schema.columns
WHERE table_name = 'thi_truong' ORDER BY ordinal_position;

-- ────────────────────────────────────
-- BƯỚC 2: Thêm cột mới vào bảng
-- (Chạy từng dòng ALTER, bỏ qua nếu cột đã tồn tại)
-- ────────────────────────────────────
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS loai_hinh   VARCHAR(50)  DEFAULT 'can-ho';
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS phan_khuc   VARCHAR(50)  DEFAULT 'trung-cap';
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS gia_min     DECIMAL(10,2);
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS gia_max     DECIMAL(10,2);
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS so_giao_dich INT         DEFAULT 0;
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS thanh_khoan  VARCHAR(20)  DEFAULT 'trung-binh';
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS nguon        VARCHAR(100) DEFAULT 'Khảo sát sinh viên';
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS tac_gia_id   INT;
ALTER TABLE thi_truong ADD COLUMN IF NOT EXISTS ngay_cap_nhat TIMESTAMP   DEFAULT NOW();

-- ────────────────────────────────────
-- BƯỚC 3: Xóa data cũ (nếu muốn bắt đầu mới)
-- BỎ COMMENT dòng bên dưới nếu muốn xóa data cũ
-- ────────────────────────────────────
-- TRUNCATE TABLE thi_truong;

-- ────────────────────────────────────
-- BƯỚC 4: Nhập dữ liệu mẫu — TP.HCM
-- (Sinh viên sẽ bổ sung thêm qua trang Admin)
-- ────────────────────────────────────
INSERT INTO thi_truong (khu_vuc, vung, gia_m2, tang_truong, quy_nam, loai_hinh, phan_khuc, gia_min, gia_max, so_giao_dich, thanh_khoan, nguon) VALUES

-- Quận 1
('Quận 1',       'TP.HCM', 180, 3.2,  'Q1/2025', 'can-ho',   'cao-cap',    150, 220, 45,  'cao',        'Khảo sát sinh viên'),
('Quận 1',       'TP.HCM', 280, 2.8,  'Q1/2025', 'nha-pho',  'cao-cap',    250, 350, 12,  'thap',       'Khảo sát sinh viên'),
-- Quận 2 / Thủ Đức
('TP Thủ Đức',   'TP.HCM', 75,  5.1,  'Q1/2025', 'can-ho',   'trung-cap',  55,  95,  180, 'cao',        'Khảo sát sinh viên'),
('TP Thủ Đức',   'TP.HCM', 85,  4.8,  'Q1/2025', 'can-ho',   'cao-cap',    75,  120, 90,  'trung-binh', 'Khảo sát sinh viên'),
('TP Thủ Đức',   'TP.HCM', 35,  6.2,  'Q1/2025', 'dat-nen',  'trung-cap',  28,  45,  220, 'cao',        'Khảo sát sinh viên'),
-- Quận 7
('Quận 7',       'TP.HCM', 65,  3.9,  'Q1/2025', 'can-ho',   'trung-cap',  50,  80,  150, 'cao',        'Khảo sát sinh viên'),
('Quận 7',       'TP.HCM', 95,  2.5,  'Q1/2025', 'can-ho',   'cao-cap',    80,  130, 60,  'trung-binh', 'Khảo sát sinh viên'),
-- Bình Thạnh
('Bình Thạnh',   'TP.HCM', 60,  4.1,  'Q1/2025', 'can-ho',   'trung-cap',  45,  75,  200, 'cao',        'Khảo sát sinh viên'),
('Bình Thạnh',   'TP.HCM', 120, 2.2,  'Q1/2025', 'nha-pho',  'trung-cap',  100, 150, 35,  'trung-binh', 'Khảo sát sinh viên'),
-- Gò Vấp
('Gò Vấp',       'TP.HCM', 45,  5.5,  'Q1/2025', 'can-ho',   'binh-dan',   35,  55,  280, 'cao',        'Khảo sát sinh viên'),
('Gò Vấp',       'TP.HCM', 25,  7.2,  'Q1/2025', 'dat-nen',  'binh-dan',   20,  32,  310, 'cao',        'Khảo sát sinh viên'),
-- Tân Phú
('Tân Phú',      'TP.HCM', 42,  4.8,  'Q1/2025', 'can-ho',   'binh-dan',   35,  52,  190, 'cao',        'Khảo sát sinh viên'),
-- Nhà Bè
('Nhà Bè',       'TP.HCM', 28,  8.1,  'Q1/2025', 'dat-nen',  'binh-dan',   22,  38,  420, 'cao',        'Khảo sát sinh viên'),
('Nhà Bè',       'TP.HCM', 38,  6.5,  'Q1/2025', 'can-ho',   'binh-dan',   30,  48,  160, 'trung-binh', 'Khảo sát sinh viên'),
-- Bình Chánh
('Bình Chánh',   'TP.HCM', 18,  9.3,  'Q1/2025', 'dat-nen',  'binh-dan',   14,  24,  580, 'cao',        'Khảo sát sinh viên'),
-- Quận 9 (nay là Thủ Đức)
('Quận 9',       'TP.HCM', 32,  7.8,  'Q1/2025', 'dat-nen',  'trung-cap',  25,  42,  350, 'cao',        'Khảo sát sinh viên'),

-- ────────────────────────────────────
-- Tỉnh lân cận TP.HCM
-- ────────────────────────────────────
-- Bình Dương
('Dĩ An',        'Bình Dương', 32, 6.8, 'Q1/2025', 'can-ho',  'binh-dan',   25,  42,  380, 'cao',        'Khảo sát sinh viên'),
('Thuận An',     'Bình Dương', 28, 5.9, 'Q1/2025', 'can-ho',  'binh-dan',   22,  36,  290, 'cao',        'Khảo sát sinh viên'),
('TP Thủ Dầu Một','Bình Dương',45, 4.2, 'Q1/2025', 'can-ho',  'trung-cap',  38,  58,  150, 'trung-binh', 'Khảo sát sinh viên'),
('Bến Cát',      'Bình Dương', 15, 8.5, 'Q1/2025', 'dat-nen', 'binh-dan',   12,  20,  620, 'cao',        'Khảo sát sinh viên'),
-- Long An
('Bến Lức',      'Long An',    12, 10.2,'Q1/2025', 'dat-nen', 'binh-dan',   9,   16,  750, 'cao',        'Khảo sát sinh viên'),
('Cần Giuộc',    'Long An',    14, 9.8, 'Q1/2025', 'dat-nen', 'binh-dan',   11,  18,  680, 'cao',        'Khảo sát sinh viên'),
-- Đồng Nai
('Biên Hòa',     'Đồng Nai',   35, 5.5, 'Q1/2025', 'can-ho',  'binh-dan',   28,  45,  220, 'trung-binh', 'Khảo sát sinh viên'),
('Long Thành',   'Đồng Nai',   18, 7.2, 'Q1/2025', 'dat-nen', 'trung-cap',  14,  24,  480, 'cao',        'Khảo sát sinh viên')

ON CONFLICT DO NOTHING;

-- ────────────────────────────────────
-- BƯỚC 5: Kiểm tra kết quả
-- ────────────────────────────────────
SELECT vung, khu_vuc, loai_hinh, gia_m2, tang_truong, quy_nam
FROM thi_truong
ORDER BY vung, gia_m2 DESC;

SELECT COUNT(*) as tong_ban_ghi FROM thi_truong;
