Yêu cầu truy vấn

Một phần của tài liệu Đề tài: Ứng dụng cơ sở dữ liệu vào quản lý khách sạn AEM VILLA (Trang 36 - 48)

IV. Câu lệnh truy vấn

3. Yêu cầu truy vấn

1. Doanh thu thuê phòng trong tháng 2? 2. Ai là trưởng phòng của phòng hành chính?

3. Liệt kê những phòng được thuê trong ngày 09/10/2021? 4. Số phòng trống trong ngày 10/01/2021

5. Thông tin những dịch vụ có đơn giá cao nhất?

6. In hóa đơn thuê phòng của khách hàng Đỗ Thị Hoàng Anh?

7. Tìm 3 khách hàng có giá trị hóa đơn cao nhất trong tháng 1 năm 2021? 8. Tìm những khách hàng có giá trị hóa đơn cao nhất trong tháng 1 năm 2021? 9. Số tiền trung bình của các hóa đơn trong tháng 1 năm 2021?

10.Danh sách khách hàng thuê phòng P01 của khách sạn tháng 1 năm 2021? 11.Lập bảng số lượng loại phòng đơn được thuê trong tháng 1 năm 2021? 12. Phân chia đơn giá phòng theo nhóm cao, trung bình, thấp?

13.Doanh thu thuê phòng theo phòng? 14.Doanh thu thuê phòng theo khách hàng?

15.Tần số các phòng được thuê trong năm 2021 tính theo ngày? -- Câu 1: Doanh thu thuê phòng tháng 2

SELECT SUM(PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN, CTPDP.NGAYDI))

AS "DOANH THU THUE PHONG THANG 2" FROM PHONG, PHIEUDP, CTPDP, HOADON

WHERE PHONG.MAP = CTPDP.MAP AND

HOADON.MAHD=PHIEUDP.MAHD AND PHIEUDP.MADP = CTPDP.MADP AND NGAYTHANG BETWEEN'2021/02/01' AND '2021/02/28'

-- Câu 2: Ai là trưởng phòng của phòng hành chính?

SELECT TENNV, MANV,NHANVIEN.MAPB, GIOITINH, CHUCVU, TENPB FROM PHONGBAN, NHANVIEN

WHERE PHONGBAN.MAPB = NHANVIEN.MAPB AND TENPB = N'Hành chính'

AND CHUCVU = N'Trưởng phòng'

-- Câu 3: Liệt kê số phòng được thuê trong ngày 16/09/2021?

SELECT C.MAP, B.MALP, B.TENLP, C.NGAYDEN, C.NGAYDI FROM PHONG A, LOAIPHONG B, CTPDP C

WHERE A.MALP = B.MALP AND A.MAP = C.MAP

AND C.NGAYDEN <= '2021/09/16' AND '2021/09/16' <= C.NGAYDI

-- Câu 4: Số phòng trống trong ngày 10/01/2021

SELECT A.MAP, B.MALP, B.TENLP

FROM PHONG A FULL JOIN LOAIPHONG B ON A.MALP = B.MALP WHERE MAP NOT IN (SELECT C.MAP

WHERE A.MALP = B.MALP AND A.MAP = C.MAP

AND C.NGAYDEN <= '2021/01/10' AND '2021/01/10' <= C.NGAYDI)

-- Câu 5: Thông tin những dịch vụ có đơn giá cao nhất?

SELECT MADV, TENDV, DONGIA FROM DICHVU

-- Câu 6: In hoá đơn thuê phòng của khách hàng Đỗ Thị Hoàng Anh

SELECT KHACHHANG.TENKH, PHIEUDP.COCTRUOC, HOADON.MAHD, HOADON.NGAYTHANG as "NGAYHOADON",

(SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN,

CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC) as "TIENPHAITRA"

FROM PHIEUDP FULL JOIN HOADON ON

PHIEUDP.MAHD=HOADON.MAHD

FULL JOIN CTPDP ON PHIEUDP.MADP=CTPDP.MADP FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

FULL JOIN KHACHHANG ON KHACHHANG.MAKH=PHIEUDP.MAKH WHERE KHACHHANG.TENKH LIKE N'%Đỗ Thị Hoàng Anh%'

GROUP BY KHACHHANG.TENKH, PHIEUDP.COCTRUOC,

HOADON.MAHD, HOADON.NGAYTHANG

-- Câu 7:Tìm 3 khách hàng có giá trị hóa đơn cao nhất trong tháng 1 năm 2021?

(SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN, CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC)

AS "GIA TRI HOA DON" FROM PHIEUDP

FULL JOIN HOADON ON PHIEUDP.MAHD=HOADON.MAHD FULL JOIN CTPDP ON PHIEUDP.MADP=CTPDP.MADP

FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

FULL JOIN KHACHHANG ON KHACHHANG.MAKH=PHIEUDP.MAKH WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1

GROUP BY KHACHHANG.MAKH,TENKH,HOADON.MAHD,

[PHIEUDP].COCTRUOC

ORDER BY (SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN, CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC) DESC

--Câu 8: Tìm những khách hàng có giá trị hóa đơn cao nhất tháng 1 năm 2021

SELECT KHACHHANG.MAKH,TENKH,HOADON.MAHD,

(SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN,

CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC) AS "GIA TRI HOA DON"

FULL JOIN HOADON ON PHIEUDP.MAHD=HOADON.MAHD FULL JOIN CTPDP ON PHIEUDP.MADP=CTPDP.MADP

FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

FULL JOIN KHACHHANG ON KHACHHANG.MAKH=PHIEUDP.MAKH WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1

GROUP BY KHACHHANG.MAKH,TENKH,HOADON.MAHD,

PHIEUDP.COCTRUOC

HAVING (SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN, CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC)

>= ALL(SELECT (SUM (PHONG.DONGIA *

DATEDIFF(day,CTPDP.NGAYDEN, CTPDP.NGAYDI))-

[PHIEUDP].COCTRUOC) AS "GIA TRI HOA DON" FROM PHIEUDP

FULL JOIN HOADON ON PHIEUDP.MAHD=HOADON.MAHD FULL JOIN CTPDP ON PHIEUDP.MADP=CTPDP.MADP

FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

FULL JOIN KHACHHANG ON KHACHHANG.MAKH=PHIEUDP.MAKH WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1

GROUP BY KHACHHANG.MAKH,TENKH,HOADON.MAHD,

PHIEUDP.COCTRUOC)

SELECT AVG(A.GIATRIHOADON) AS "SO TIEN TRUNG BINH MOI HOA DON TRONG THANG 1 NAM 2021"

FROM (SELECT KHACHHANG.MAKH,TENKH,HOADON.MAHD,

(SUM (PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN,

CTPDP.NGAYDI))-[PHIEUDP].COCTRUOC) AS "GIATRIHOADON"

FROM PHIEUDP

FULL JOIN HOADON ON PHIEUDP.MAHD=HOADON.MAHD FULL JOIN CTPDP ON PHIEUDP.MADP=CTPDP.MADP

FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

FULL JOIN KHACHHANG ON KHACHHANG.MAKH=PHIEUDP.MAKH WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1

GROUP BY KHACHHANG.MAKH,TENKH,HOADON.MAHD,

PHIEUDP.COCTRUOC) A

-- Câu 10: Danh sách khách hàng thuê phòng P01 của khách sạn tháng 1 năm 2021

SELECT [KHACHHANG].MAKH, [KHACHHANG].TENKH FROM [KHACHHANG] FULL JOIN [PHIEUDP]

ON [KHACHHANG].MAKH = [PHIEUDP].MAKH

FULL JOIN HOADON ON HOADON.MAHD=PHIEUDP.MAHD FULL JOIN CTPDP ON CTPDP.MADP=PHIEUDP.MADP

WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1 AND CTPDP.MAP ='P01'

-- Câu 11: số lượng loại phòng đơn được thuê trong tháng 1 năm 2021

SELECT COUNT([PHONG].MAP) AS "SO LUONG PHONG DON DUOC THUE TRONG THANG 1/2021"

FROM [LOAIPHONG]

FULL JOIN [PHONG]ON [LOAIPHONG].MaLP = [PHONG].MaLP FULL JOIN CTPDP ON CTPDP.MAP=PHONG.MAP

FULL JOIN PHIEUDP ON PHIEUDP.MADP=CTPDP.MADP FULL JOIN HOADON ON HOADON.MAHD=PHIEUDP.MAHD

WHERE YEAR(NGAYTHANG) = 2021 AND MONTH(NGAYTHANG) = 1 AND [LOAIPHONG].MALP = 'LP01'

-- Câu 12: Phân chia đơn giá phòng theo nhóm cao, trung bình, thấp.

SELECT MAP, DONGIA, MALP, (CASE

WHEN DONGIA >= 500000 THEN N'CAO'

WHEN DONGIA >=400000 THEN N'TRUNG BÌNH' ELSE N'THẤP'

END ) AS NHOMGIA FROM PHONG

ORDER BY DONGIA

--Câu 13: Doanh thu thuê phòng theo phòng

SELECT C.MAP, D.TENLP, SUM(C.DONGIA *

DATEDIFF(day,B.NGAYDEN,B.NGAYDI)) AS "DOANH SỐ THEO PHÒNG" FROM CTPDP B, PHONG C, LOAIPHONG D

WHERE B.MAP = C.MAP AND C.MALP=D.MALP GROUP BY C.MAP, D.TENLP

-- Câu 14: Doanh số thuê phòng theo Khách hàng

SELECT KHACHHANG.MAKH, KHACHHANG.TENKH,

SUM(PHONG.DONGIA * DATEDIFF(day,CTPDP.NGAYDEN,

CTPDP.NGAYDI))

AS "DOANH SỐ THEO KHÁCH HÀNG"

FROM [KHACHHANG] FULL JOIN [PHIEUDP] ON [KHACHHANG].MAKH = [PHIEUDP].MAKH

FULL JOIN CTPDP ON CTPDP.MADP=PHIEUDP.MADP FULL JOIN PHONG ON CTPDP.MAP=PHONG.MAP

GROUP BY KHACHHANG.MAKH, KHACHHANG.TENKH ORDER BY KHACHHANG.MAKH

--Câu 15.Tần số các phòng được thuê trong năm 2021 tính theo ngày?

SELECT A.MAP, B.TENLP, SUM(C.SONGAY) AS "TANSO"

FROM PHONG A, LOAIPHONG B, (SELECT PHONG.MAP, LOAIPHONG.TENLP,

(CASE

WHEN (YEAR(CTPDP.NGAYDEN) = 2021 AND YEAR(CTPDP.NGAYDI)= 2021) THEN (SUM( DATEDIFF(DAY, CTPDP.NGAYDEN,CTPDP.NGAYDI))) WHEN (YEAR(CTPDP.NGAYDEN) = 2020 AND YEAR(CTPDP.NGAYDI)= 2021) THEN (SUM( DATEDIFF(DAY, 31/12/2020,CTPDP.NGAYDI)))

WHEN (YEAR(CTPDP.NGAYDEN) = 2021 AND YEAR(CTPDP.NGAYDI)= 2022) THEN (SUM( DATEDIFF(DAY, CTPDP.NGAYDEN,01/01/2022)))

END)AS "SONGAY"

FROM PHONG, LOAIPHONG, CTPDP

WHERE PHONG.MAP = CTPDP.MAP AND

PHONG.MALP=LOAIPHONG.MALP

GROUP BY PHONG.MAP, LOAIPHONG.TENLP, CTPDP.NGAYDEN, CTPDP.NGAYDI) C

WHERE A.MALP=B.MALP AND A.MAP=C.MAP GROUP BY A.MAP, B.TENLP

Một phần của tài liệu Đề tài: Ứng dụng cơ sở dữ liệu vào quản lý khách sạn AEM VILLA (Trang 36 - 48)

Tải bản đầy đủ (DOCX)

(48 trang)
w