Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

KHACHHANG (MA_KH, HOTEN_KH, DIACHI, DIENTHOAI, CMND )

XE (BIENSO, SOKHUNG, SOMAY, LOAIXE, MAU, NGAYBD_BH, NGAYKT_BH, MAKH)


DM_BAODUONG (MA_BD, TEN_BD)
HOADON (SOHD, NGAY_HD, TONGTIEN, BIENSO)
CTHD (SOHD, MA_BD, SOLUONG, DONGIA)
f. Tháng nào trong năm 2017 có số lượt xe đi bảo dưỡng nhiều nhất. (1.0đ)
SELECT MONTH(NGAY_HD), COUNT(SOHD)
FROM HOADON
WHERE YEAR(NGAY_HD) =2017
GROUP BY MONTH(NGAY_HD)
HAVING COUNT(SOHD)>=ALL (
SELECT COUNT(SOHD)

FROM HOADON
WHERE YEAR(NGAY_HD) =2017
GROUP BY MONTH(NGAY_HD)
)
--CACH KHAC
SELECT TOP 1 WITH TIES MONTH(NGAY_HD), COUNT(SOHD)
FROM HOADON
WHERE YEAR(NGAY_HD) =2017
GROUP BY MONTH(NGAY_HD)
ORDER BY COUNT(SOHD) DESC

e. Cho biết các XE (BIENSO, SOKHUNG, LOAIXE) đã thực hiện bảo dưỡng tất
cả các hạng mục trong danh mục bảo dưỡng. (1.0đ)
TÌM XE VỚI ĐIỀU KIỆN LÀ KHÔNG TỒN TẠI DANH MỤC BẢO DƯỠNG NÀO MÀ XE
NÀY CHƯA BẢO DƯỠNG
XÉT XE X0001
TÌM XE X001 VỚI ĐIỀU KIỆN LÀ KHÔNG TỒN TẠI DANH MỤC BẢO DƯỠNG NÀO MÀ
XE X0001 CHƯA BẢO DƯỠNG
SELECT *
FROM XE
WHERE NOT EXISTS(
SELECT *
FROM DM_BAODUONG

WHERE MA_BD NOT IN (


SELECT MA_BD
FROM CTHD ct JOIN HOADON hd
ON ct.SOHD=hd.SOHD
WHERE hd.BIENSO= XE.BIENSO
)
)

d. Xe nào (BIENSO, SOKHUNG, SOMAY) có đi bảo dưỡng năm 2003 nhưng


không đi bảo dưỡng xe năm 2004. (1.0đ)
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2003
EXCEPT
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2004
--CACH KHAC
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2003
AND BIENSO NOT IN (
SELECT BIENSO
FROM HOADON
WHERE YEAR(NGAY_HD)=2004)

d1. Xe nào (BIENSO, SOKHUNG, SOMAY) có đi bảo dưỡng ở cả hai năm 2003 và 2004.
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2003
INTERSECT
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2004
--CACH KHAC
SELECT BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2003
AND BIENSO IN (
SELECT BIENSO
FROM HOADON
WHERE YEAR(NGAY_HD)=2004)

c. Cho biết các XE (BIENSO, SOKHUNG, SOMAY) chưa đi bảo dưỡng trong
năm 2017. (1.0đ)
SELECT BIENSO, SOKHUNG, SOMAY
FROM XE
WHERE BIENSO NOT IN ( SELECT BIENSO
FROM HOADON
WHERE YEAR(NGAY_HD)=2017)
--CACH KHAC
SELECT BIENSO, SOKHUNG, SOMAY
FROM XE
EXCEPT
SELECT x.BIENSO, SOKHUNG, SOMAY
FROM HOADON hd JOIN XE x ON hd.BIENSO=x.BIENSO
WHERE YEAR(NGAY_HD)=2017
b. Cho biết thông tin khách hàng (MA_KH, HOTEN_KH) và số lượng xe mà
người này sở hữu. (1.0đ)
SELECT kh.MA_KH, HOTEN_KH, COUNT(BIENSO) SLXE
FROM KHACHHANG kh JOIN XE x ON kh.MA_KH=x.MAKH
GROUP BY kh.MA_KH, HOTEN_KH

a. Liệt kê danh sách các xe (BIENSO, LOAIXE, MAU, NGAYBD_BH) sẽ kết


thúc thời gian bảo hành vào ngày 31/12/2018. (1.0đ)
SELECT BIENSO, LOAIXE, MAU, NGAYBD_BH
FROM XE
WHERE NGAYKT_BH=’31/12/2018’

f. Tháng nào trong năm 2017 có số lượng xe đi bảo dưỡng nhiều nhất. (1.0đ)

You might also like