Bài gi ng Cơ s D li u SQL – Ph n 2 – Truy v n (Query) và t o View * Hi n th các ơn t hàng có Ngày giao hàng trong th i i m t 1-3-2004 n 30-4-2004 SELECT DonDH.MaDH, CONVERT(VARCHAR(10),NgayGH,103) as [Ngay GH], DonDH.MaKH, KhachHang.TenKH, MatHang.TenMH, MatHang.DVT, MatHang.DonGia, ChiTietDH.SoLuong, [DonGia]*[SoLuong] AS [Thành ti n] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH Where NgayGH >= CONVERT(Varchar(10),'2004/03/01',111) And NgayGH <= CONVERT(Varchar(10),'2004/04/30',111) K t qu như sau: * Tính T ng s lư ng và Thành ti n các m t hàng SELECT ChiTietDH.MaMH, MatHang.TenMH, Sum(ChiTietDH.SoLuong) AS [So Luong], Sum([SoLuong]*[DonGia]) AS [Thanh Tien] FROM MatHang INNER JOIN ChiTietDH ON MatHang.MaMH = ChiTietDH.MaMH GROUP BY ChiTietDH.MaMH, MatHang.TenMH; K t qu như sau: * Tính t ng s ti n ã t hàng theo t ng công ty, hi n th MaKH, TenKH, Tong So Tien. Chú ý c t Tong So Tien = DonGia * SoLuong SELECT DonDH.MaKH, KhachHang.TenKH, Sum([SoLuong]*[DonGia]) AS [Tong so tien] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH GROUP BY DonDH.MaKH, KhachHang.TenKH; Biên so n: Th.s Nguy n Anh Vi t Trang 1 Bài gi ng Cơ s D li u SQL – Ph n 2 – Truy v n (Query) và t o View K t qu như sau: * Tìm công ty t hàng có T ng tr giá cao nh t, hi n th MaKH, TenKH, Tong So Tien - Trư c tiên, t o View hi n th T ng thành ti n theo Khách hàng: Create View "View - Thanh tien theo Khach hang" as SELECT DonDH.MaKH, KhachHang.TenKH, Sum([SoLuong]*[DonGia]) AS [Tong so tien] FROM MatHang INNER JOIN (KhachHang INNER JOIN (DonDH INNER JOIN ChiTietDH ON DonDH.MaDH = ChiTietDH.MaDH) ON KhachHang.MaKH = DonDH.MaKH) ON MatHang.MaMH = ChiTietDH.MaMH GROUP BY DonDH.MaKH, KhachHang.TenKH K t qu như sau, (vào m c Data xem): - Sau ó tìm Công ty có T ng giá tr mua hàng cao nh t: SELECT MaKH, TenKH, "Tong so tien" FROM "View - Thanh tien theo Khach hang" Where "Tong so tien" = (Select Max("Tong so tien") from "View - Thanh tien theo Khach hang") K t qu như sau : Biên so n: Th.s Nguy n Anh Vi t Trang 2 Bài gi ng Cơ s D li u SQL – Ph n 2 – Truy v n (Query) và t o View - Cu i cùng, t o View theo K t qu trên: Create View "View - Max Thanh tien theo Khach hang" as SELECT MaKH, TenKH, "Tong so tien" FROM "View - Thanh tien theo Khach hang" Where "Tong so tien" = (Select Max("Tong so tien") from "View - Thanh tien theo Khach hang") * Tìm m t hàng bán ch m nh t (có T ng tr giá nh nh t). Hi n th MaMH, TenMH, Tong So Tien - Trư c tiên, t o View hi n th T ng thành ti n theo M t hàng: Create View "View – Tong thanh tien theo mat hang" as Select ChiTietDH.MaMH, MatHang.TenMH, Sum (ChiTietDH.SoLuong * MatHang.DonGia) as ThanhTien From ChiTietDH Inner Join MatHang on ChiTietDH.MaMH = MatHang.MaMH Group by ChiTietDH.MaMH, MatHang.TenMH K t qu như sau (vào m c Data xem): - Sau ó tìm M t hàng có T ng giá tr th p nh t: Select MaMH, TenMH, ThanhTien from "View – Tong thanh tien theo mat hang" Where ThanhTien = (Select Min(ThanhTien) from "View – Tong thanh tien theo mat hang") K t qu như sau : Biên so n: Th.s Nguy n Anh Vi t Trang 3 Bài gi ng Cơ s D li u SQL – Ph n 2 – Truy v n (Query) và t o View - Cu i cùng, t o View theo K t qu trên: Create View "View - Min Tong thanh tien theo mat hang" as Select MaMH, TenMH, ThanhTien from "View – Tong thanh tien theo mat hang" Where ThanhTien = (Select Min(ThanhTien) from "View – Tong thanh tien theo mat hang") * Tìm công ty t hàng có T ng tr giá th p nh t, hi n th MaKH, TenKH, TongSoTien * Tìm m t hàng bán ch y nh t (có T ng tr giá cao nh t). Hi n th MaMH, TenMH, TongSoTien * Tìm m t hàng ư c khách TenMH, SoLanDatHang t hàng nhi u nh t (có s l n * Tìm Khách hàng có T ng s ti n MaKH, TenKH, SoTienTB_HD * Tìm các Khách hàng không có t hàng trung bình trên m t hoá ơn là l n nh t. Hi n th t hàng trong tháng 5/2004. Hi n th MaKH, TenKH * Tìm các M t hàng không có khách hàng nào Biên so n: Th.s Nguy n Anh Vi t t hàng l n nh t). Hi n th MaMH, t hàng. Hi n th MaMH, TenMH Trang 4