Đồ án Quản lý mua bán Laptop
Trang 2Nhu c u: ầ
M t công ty mua bán Laptop tộ ương đ i l n c n xây d ng m t h qu n tr CSDLố ớ ầ ự ộ ệ ả ị
và c n m t chầ ộ ương trình dùng cho t t c các c p nhân viên, qu n lý:ấ ả ấ ả
-Nhu c u c n cho đ án môn h c: Qu n lý Xu t nh p kho, khách hàng, chi ti tầ ầ ồ ọ ả ấ ậ ế doanh thu, l i nhu n và nhân viên bán hàng.ợ ậ
-Xây d ng 1 ph n chự ầ ương trình nh các yêu c u đ án môn h c đã trình bày:ư ầ ề ọ
+Do tính ch t đ án nên không thao tác trên m ngấ ồ ạ+Mô hình thi t k chế ế ương trình là Demo trên 1 máy
vi t chế ương trình
2 Nh ng quy đ nh này nh : M t nhân viên ch dùng 1 s đi n tho i đ liên h ,ữ ị ư ộ ỉ ố ệ ạ ể ệ hay m t khách hàng, m t nhà cung c p ch dùng 1 đ a ch giao hàng, … Tuyộ ộ ấ ỉ ị ỉnhiên các quy đ nh này s đị ẽ ược làm rõ khi ta ti n hành chu n hóa CSDL Ph nế ẩ ầ
đ u tiên chúng ta s không đ c p t i v n đ quy đ nh này cho t i khi quáầ ẽ ề ậ ớ ấ ề ị ớtrình ki m đ nh CSDL cho th y c n ph i chu n hóa, và chúng ta s chia làm 2ể ị ấ ầ ả ẩ ẽ
phương án:
- Chu n hóa CSDL đ mô hình đ t chu n BCNF.ẩ ể ạ ẩ
- Đ t quy đ nh ràng bu c đ mô hình v n đ t chu n mà không c n thayặ ị ộ ể ẫ ạ ẩ ầ
đ i c u trúc CSDL (t t nhiên là mô hình o vì có kèm theo quy đ nh)ổ ấ ấ ả ị
Ti n hành th c hi n đ án ế ự ệ ồ
Trang 31.Kh o sát hi n tr ng: ả ệ ạ
1 1 C c u t ch c: ơ ấ ổ ứ
C c u t ch c trong ph n trình bày c a đ án:ơ ấ ổ ứ ầ ủ ồ
- Ban giám đ c (ngố ườ ượi đ c h tr ra quy t đ nh)ỗ ợ ế ị
- Xu t nh p kho hàng, Thu ngân, Tài chính, Nhân s (ch tính nhânấ ậ ự ỉviên bán hàng)
1.2 Các nghi p v : ệ ụ Ch kh o sát các nghi p v khoanh vùng trong ph m vi n iỉ ả ệ ụ ạ ộ dung đ án c n th c hi n:ồ ầ ự ệ
1.2.1 Qui trình nghi p v bán hàng: ệ ụ
[1] Gi i thi u hàng hóa cho khách hàngớ ệ[2] Khách hàng ch n hàngọ
[3] Ki m tra hàng hóa t nể ồ[4.1] Xu t hàng cho khách hàngấ[4.2] Quay l i bạ ước [1] cho t i khi k t thúc bán hàng ho c kháchớ ế ặhàng t ch i mua hàng khác.ừ ố
Trang 4[2] Nh n hàng và nh p kho (giá đ nh danh, mua bao nhiêu thì giáậ ậ ị
1.2.5 Qu n lý khách hàng ả
[1] Chi ti t khách hàngế[2] H tr khách hàngỗ ợ[3] Các yêu c u t c th i khácầ ứ ờ
1.2.6 Qu n lý nhà cung c p ả ấ
[1] Chi ti t nhà cung c pế ấ[2] Nhu c u liên h nh p hàngầ ệ ậ[3] Các yêu c u t c th i khácầ ứ ờ
1.2.7 Qu n lý kho ả
[1] Qu n lý s lả ố ượng và giá hàng t nồ[2] Qui trình ki m hàng, xu t nh p hàngể ấ ậ
1.3 Hi n tr ng tin h c: ệ ạ ọ
-Do tính ch t công ty nên các yêu c u k thu t đ u đ t chu n:ấ ầ ỹ ậ ề ạ ẩ
+Ph n c ngầ ứ+Ph n m mầ ề
Trang 5-Riêng ph n nhân s cho n i dung đ t ra là xây d ng giao di n ngầ ự ộ ặ ư ệ ườ idùng nên s d dàng ti p c n v i nhân viênẽ ễ ế ậ ớ
1.4 Các yêu c u ầ
1.4.1 Các yêu c u tác nghi p: ầ ệ Yêu c u này có t nhi u y u t nhầ ừ ề ế ố ư website, đi mua hàng đóng vai khách hàng, quan sát và tìm hi u, h i nhân viên công ty t iể ỏ ạ các công ty nh Hoàn Long, Phong Vũ, Vi n Thông A đ sau đó là rút ra các y u c uư ễ ể ế ầ cho 1 công ty o đ t ra!ả ặ
[1] Thông tin hàng hóa: Laptop c n 1 s thu c tính sauầ ố ộ
- Tên Laptop/ Ký hi uệ
- Chip, Main, Ram, CD/DVD, Screen, Pin, HDD,…
-Lo i hàng, hãng s n xu t, thông tin b o hành, thông tin nhàạ ả ấ ảcung c p, xu t x , giá hàng hóa,…ấ ấ ứ
[2] Thông tin khách hàng:
- Thông tin giao d chị
- Thông tin cá nhân
[3] Thông tin nhà cung c p:ấ
- Thông tin giao d chị
- Thông tin cá nhân
[6] Thông tin h tr ra quy t đ nhỗ ợ ế ị
-Doanh thu, l i nhu nợ ậ-Các m t hàng bán nhi u nh t, ít nh t,…ặ ề ấ ấ
Trang 7[3] Hàng hóa
[4] Hóa đ n bán hàng ơ
[5] Hóa đ n mua hàng ơ
Trang 8[6] Qu n lý khách hàng ả
[7] Lo i hàng ạ
[8] Nhà cung c p ấ
[9] Nhan vien
Trang 9[10] Trung tâm b o hành ả
T ng k t các b ng:ổ ế ả
LoaiHang (MaLH, TenLH, MaNCC, MaTTBH)
HangHoa (MaHH, TenHang, MaLH, Chip, Main, HDD, RAM, VGA, CDRW, SLTon,
Gia, GiaBan)
KhachHang (MaKH, TenKH, DiaChi, DienThoai)
NhaCungCap (MaNCC, TenNCC, DiaChi, DienThoai)
TTBH (MaTTBH, DiaChi, DienThoai)
HoaDonBan (MaHD, MaKH, TongGiaTri, NgayLap)
ChiTietHDBan (MaHD, MaHH, SLBan, GiaBan, MaNV)
HoaDonMua (MaHD, MaNCC, TongGiaTri, NgayLap)
ChiTietHDMua (MaHD, MaHH, SLMua, GiaMua)
NhanVienBH (MaNV, TenNV, DiaChi, DienThoai)
S đ th c th và m i k t h p: ơ ồ ự ể ố ế ợ
Trang 11∀t1,t2 ∈ HangHoa, t1≠t2 →t1 MaHH ≠t2 MaHH
Trang 13
(1) HangHoa – ChiTietHDMua - ChiTietHDBan
∀t ∈ HangHoa, ∀t1 ∈ ChiTietHDBan, ∀t2 ∈ ChiTietHDMua,
t.SLTon =Sum( t2.SLMua) –Sum( t1.SLBan) ^ t.MaHH=t1.MaHH=t2.MaHH
Cú pháp Update sau đây s dùng gán cho m t s ki n nào đó khi thi t l p trên Demo C#:ẽ ộ ự ệ ế ậ
L u ý đây không ph i là Trigger ch là m t ư ả ỉ ộ Command Text.
Trang 14(2) ChiTietHD (Mua/Ban) – HoaDon (Mua/Ban)
∀t ∈ HoaDon, ∃ t’∈ChiTietHD, t.TongGiaTri=Sum(t’.SL*t’.Gia)
Trang 16MaHD, MaHH SLMua,
MaHD, MaHH GiaMua
}
(6) ChiTietHDBan{MaHD, MaHH, SLBan, GiaBan, MaNV}
F = {
MaHD, MaHH SLBan
MaHD, MaHH GiaBan
MaHD, MaHH MaNV
Trang 172.4.1 Xét b ng NhanVien (MaNV, TenNV, DiaChi, DienThoai}ả
- M t NV có th có nhi u s đi n tho i ho c nhi u nhi u đ a ch liênộ ể ề ố ệ ạ ặ ề ề ị ỉ
h , nh v y mô hình không th đ t chu n BCNF Lúc đó ta ph i tách b ng NhanVienệ ư ậ ể ạ ẩ ả ảthành 3 b ng NhanVien{MaNV, TenNV}, NV-DC{MaNV, DiaChi} NV-DT{MaNV,ảDienThoai} lúc này thì quan h NhanVien đã đệ ược chu n hóa v i chu n Boyce-Codd.ẩ ớ ẩ
Nh ng chúng ta s đ t kèm 1 s quy đ nh nh :ư ẽ ạ ố ị ư
+ Các nhân viên ch đỉ ượ ử ục s d ng 1 s đi n tho i và 1 đ a ch liênố ệ ạ ị ỉ
h trong quá trình làm vi c, tuy nhiên quy đ nh này cũng có v kh c khe ệ ệ ị ẻ ắ
2.4.2 Tương t v i b ng KhachHang{MaKH, TenKH, DiaChi, DienThoai}ự ớ ả
Trang 18Chúng ta v n nói trên phẫ ương di n nh v i b ng NhanVien, thì mô hình v n ch a thệ ư ớ ả ẫ ư ể
đ t chu n BCNF Và ta v n ph i ti n hành thao tác nh b ng NhanVien B ng cách táchạ ẩ ẫ ả ế ư ả ằ
b ng: KhachHang{MaKH, TenKH}, KH-DC{MaKH,DiaChi}, KH-DT{MaKH,DT}ả
+Tuy nhiên b ng m t s quy đ nh nh trên ta cũng có th b quaằ ộ ố ị ư ể ỏ
vi c chu n hóa này mà mô hình v n có th đ t chu n BCNF.ệ ẩ ẫ ể ạ ẩ
2.4.3 V i c u trúc tớ ấ ương t nh KhachHang ta ph i chu n hóa ti p b ngự ư ả ẩ ế ả NhaCungCap nh sau NhaCungCap{MaNCC, TenNCC}, NCC-DC{MaNCC,DiaChi},ưNCC-DT{MaNCC,DT}
2.4.4 Và không ch d ng l i nh ng b ng trên, t t c các b ng, các phỉ ừ ạ ở ữ ả ở ấ ả ả ụ thu c hàm c a m t t p h p hàm v i ph n ánh nh sau: X ộ ủ ộ ậ ợ ớ ả ư A trong đó X là khóa (siêu khóa) nh ng giá tr A l i không ph i là duy nh t đ i v i khóa này thì mô hình s khôngư ị ạ ả ấ ố ớ ẽ
đ t chu n và t i ph i làm thao tác chu n hóa CSDL ạ ẩ ạ ả ẩ BCNF
K t lu n: N u nh không có các đi u ki n ràng bu c thì mô hình CSDL c aế ậ ế ư ề ệ ộ ủ chúng ta s làm vi c ch a logic v tính th c t Tuy nhiên mô hình c a chúng ta s r tẽ ệ ư ề ự ế ủ ẽ ấ
t t và có th nói là đ t chu n 4 hay BCNF v i các đi u ki n ràng bu c nh sau:ố ể ạ ẩ ớ ề ệ ộ ư
- Nhân viên, khách hàng, nhà cung c p, … ch dùng duy nh t 1 s đi n tho iấ ỉ ấ ố ệ ạ liên l c và 1 đ a ch liên h ạ ị ỉ ệ
Trang 19(1.2) Xem thông tin hàng hóa có mã là x ho c tên hàng là yặ
Trang 21(1.4) Trường h p khách hàng có yêu c u ki m tra k thu t máy taợ ầ ể ỹ ậ
c n ki m tra xem có ph i đó là hàng đã đầ ể ả ược công ty bán ra haykhông:
(1.4.1) Ki m tra t t c các m c hàng mà khách hàng có tên là xể ấ ả ụ
đã mua VD:x=”Bùi Th Duy”ế
SELECT HDB.MaKH, KH.TenKH, CTB.MaHH, CTB.SLBan,CTB.NgayLap
FROM ChiTietHDBan as CTB INNER JOIN HoaDonBan as HDB ON
CTB.MaHD = HDB.MaHD INNER JOIN
KhachHang as KH ON HDB.MaKH = KH.MaKH
WHERE (KH.TenKH = @X)
(1.4.2) Ki m tra thông tin khách hàng đ liên h khi c n VD:ể ể ệ ầ
C n ki m tra thông tin Khách hàng Bùi Th Duyầ ể ế
SELECT *
FROM KhachHang
WHERE TenKH=@X
(1.5) Gi i quy t các v n đ sau:ả ế ấ ề 1.5.1 Danh sách hàng bán ra trong ngày x 1.5.2 Danh sách hàng bán ra trong tháng x 1.5.3 Danh sách hàng bán ra trong năm x
Ta s gi i quy t c 3 câu trên b ng 1 truy v n duy nh t: Danh sáchẽ ả ế ả ằ ấ ấhàng bán ra t ngày x đ n ngày y VD:ừ ế
1.5.1 t ngày 15/3/2009 -15/3/2009ừ
Trang 221.5.2 t ngày 15/2/2009-15/3/2009ừ 1.5.3 t ngày 15/3/2008-15/3/2009ừ
Ta s ch y câu truy v n t ng quát, và ch y VD: danh sách m t hàngẽ ạ ấ ổ ạ ặbán ra trong tháng 3
SELECT dbo.ChiTietHDBan.MaHH, dbo.HangHoa.TenHang, dbo.ChiTietHDBan.SLBan, dbo.HoaDonBan.NgayLap
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.HoaDonBan.NgayLap BETWEEN @X AND @Y)
(1.6) L p danh sách t t c m t hàng c a lo i hàng x.ậ ấ ả ặ ủ ạ
Vd: x là COMPAQ – HP
SELECT dbo.HangHoa.TenHang, dbo.LoaiHang.TenLH
FROM dbo.HangHoa INNER JOIN
dbo.LoaiHang ON dbo.HangHoa.MaLH = dbo.LoaiHang.MaLoai
WHERE (dbo.LoaiHang.TenLH = @X)
Trang 23(1.7) Danh sách các hàng hóa mua trong hóa đ n có mã là x VD:x=7ơ
SELECT dbo.ChiTietHDBan.MaHD, dbo.ChiTietHDBan.MaHH, dbo.ChiTietHDBan.GiaBan, dbo.ChiTietHDBan.SLBan
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.ChiTietHDBan.MaHD = @X)
(1.7) T ng doanh thu trong 1 th i t nào đó t th i gian xổ ờ ừ ừ ờ y
Ph n này ta có th gi i quy t đầ ể ả ế ược các bài toán sau, doanh thu trong ngày, trong tháng,trong quý, trong năm, và trong m t th i kỳ VD: Ta tính doanh thu trong tháng 3.ộ ờ
SELECT SUM(TongGiaTri) AS DoanhThu
FROM dbo.HoaDonBan
WHERE (NgayLap BETWEEN @X AND @Y)
(Doanh thu tính b ng USD, đ ng th c m c t i sao nó bé th ! Vì d li u đ u vào ch aằ ừ ắ ắ ạ ế ữ ệ ầ ư nhi u)ề
Trang 24(1.8) Tương t ta gi i quy t bài toán L i nhu n nh Doanh thu trênự ả ế ợ ậ ư
Ta gi i L i nhu n trong tháng 3 (nh ng trong CSDL vì d li u quá ít nên ch c ch đc cóả ợ ậ ư ữ ệ ắ ỉ
10 ngày)
SELECT SUM(dbo.ChiTietHDBan.SLBan * (dbo.ChiTietHDBan.GiaBan - dbo.HangHoa.Gia)) AS LoiNhuan
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.HoaDonBan.NgayLap BETWEEN @X AND @Y)
(1.9) Th ng kê m t hàng bán ra t trong th i kỳ t th i gian x choố ặ ừ ờ ừ ờ
đ n th i gian y, VD: trong tháng 3.ế ờ
SELECT dbo.ChiTietHDBan.MaHH, dbo.HangHoa.TenHang
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.HoaDonBan.NgayLap BETWEEN @X AND @Y)
Trang 25(1.10.1)Các m t hàng bán nhi u nh t trong th i kỳ t th i gian x đ nặ ề ấ ờ ừ ờ ế
th i gian y Vd: trong tháng 3.ờ
SELECT dbo.ChiTietHDBan.MaHH, dbo.ChiTietHDBan.SLBan
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.HoaDonBan.NgayLap BETWEEN @X AND @Y) AND (dbo.ChiTietHDBan.SLBan >= ALL
(SELECT SLBan
FROM dbo.ChiTietHDBan))
(1.10.2)Các m t hàng bán ít nh t trong th i kỳ t th i gian x đ n th iặ ấ ờ ừ ờ ế ờ gian y Vd: trong tháng 3
SELECT dbo.ChiTietHDBan.MaHH, dbo.ChiTietHDBan.SLBan
FROM dbo.ChiTietHDBan INNER JOIN
dbo.HoaDonBan ON dbo.ChiTietHDBan.MaHD = dbo.HoaDonBan.MaHDWHERE (dbo.HoaDonBan.NgayLap BETWEEN @X AND @Y) AND (dbo.ChiTietHDBan.SLBan <= ALL
(SELECT SLBan
FROM dbo.ChiTietHDBan))
Trang 26(1.10.3) Tình hình tiêu th hàng trong các tháng trong năm x Cái nàyụ
h i gi ng v i WalMart c a Th y nên e không làm, mà mu n làm cũng không đc vì hơ ố ớ ủ ầ ố ệ
SELECT MaHH, TenHang,
ISNULL ((SELECT SUM((dbo.ChiTietHDBan.GiaBan - dbo.HangHoa.Gia) *
dbo.ChiTietHDBan.SLBan) AS Expr1
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH
WHERE (YEAR(dbo.HoaDonBan.NgayLap) = 2009) AND (dbo.ChiTietHDBan.MaHH = HangHoa_1.MaHH) AND (MONTH(dbo.HoaDonBan.NgayLap)
Trang 27= 2)), 0) AS Thang2,
ISNULL ((SELECT SUM((dbo.ChiTietHDBan.GiaBan - dbo.HangHoa.Gia) *
dbo.ChiTietHDBan.SLBan) AS Expr1
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH
Trang 28WHERE (YEAR(dbo.HoaDonBan.NgayLap) = 2009) AND (dbo.ChiTietHDBan.MaHH = HangHoa_1.MaHH) AND (MONTH(dbo.HoaDonBan.NgayLap)
= 6)), 0) AS Thang6,
ISNULL ((SELECT SUM((dbo.ChiTietHDBan.GiaBan - dbo.HangHoa.Gia) *
dbo.ChiTietHDBan.SLBan) AS Expr1
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
Trang 29FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
FROM dbo.HoaDonBan INNER JOIN
dbo.ChiTietHDBan ON dbo.HoaDonBan.MaHD = dbo.ChiTietHDBan.MaHD INNER JOIN
dbo.HangHoa ON dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH AND
dbo.ChiTietHDBan.MaHH = dbo.HangHoa.MaHH
WHERE (YEAR(dbo.HoaDonBan.NgayLap) = 2009) AND (dbo.ChiTietHDBan.MaHH = HangHoa_1.MaHH) AND (MONTH(dbo.HoaDonBan.NgayLap)
= 12)), 0) AS Thang12
FROM dbo.HangHoa AS HangHoa_1
(1.11) T ng giá tr mà các nhân viên bán hàng đã bán đổ ị ược
SELECT dbo.ChiTietHDBan.MaNV, dbo.NhanVien.TenNV, SUM(dbo.ChiTietHDBan.SLBan * dbo.ChiTietHDBan.GiaBan) AS TGT
FROM dbo.ChiTietHDBan INNER JOIN
dbo.NhanVien ON dbo.ChiTietHDBan.MaNV = dbo.NhanVien.MaNV
GROUP BY dbo.ChiTietHDBan.MaNV, dbo.NhanVien.TenNV