Yêu cầu về quản lý nhân sự 25.

Một phần của tài liệu Đồ án Quản lý kinh doanh của công ty Phong Vũ (Trang 25 - 46)

2. Ràng buộc trên nhiều quan

4.1 Yêu cầu về quản lý nhân sự 25.

b.1.3 Lập danh sách tính tổng số nhân viên của một bộ phận, danh sách gồm mã bộ phận, tên bộ phận, tổng số nhân viên.

SELECT BP.MaBP, BP.TenBP, COUNT(NV.MaNV) AS TongSoNhanVien

FROM NhanVien AS NV INNER JOIN

BoPhan AS BP ON NV.MaBP = BP.MaBP GROUP BY BP.MaBP, BP.TenBP

Kết quả:

b.1.4 Lập danh sách về số lượng hàng, tổng giá trị hàng hóa mà mỗi nhân viên ở bộ phận bán hàng bán được trong năm 2008. Danh sách gồm có mã nhân viên, họ tên, ngày sinh, số lượng hàng bán được, tổng giá trị bán được. Sắp xếp theo tổng giá trị giảm dần.

SELECT NV.MaNV, NV.HoTen, SUM(CTHD.SoLuong) AS

TongSoLuongBan, SUM(CTHD.SoLuong*CTHD.DonGia) AS TongGiaTri

FROM NhanVien AS NV INNER JOIN HoaDon AS HD ON NV.MaNV = HD.MaNV INNER JOIN ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD

WHERE (NV.MaBP = 'BP1' AND YEAR(HD.NgayLap)= '2008') GROUP BY NV.MaNV, NV.HoTen

ORDER BY TongGiaTri DESC

b.1.6 Tính độ tuổi trung bình của nhân viên trong công ty. SELECT TongTuoi / TongNhanVien AS TuoiTrungBinh

FROM (SELECT SUM(DATEDIFF(Year, NgaySinh, { fn NOW() })) AS TongTuoi, COUNT(MaNV) AS TongNhanVien FROM NhanVien AS NV)

Kết quả:

b.1.7 Lập danh sách nhân viên bán hàng có doanh thu nhiều nhất. Danh sách gồm MaNV, HoTen, TongSoLuong, TongGiaTri

SELECT MaNV, HoTen, TongSoLuong, TongGiaTri

FROM (SELECT NV.MaNV, NV.HoTen, SUM(CTHD.SoLuong) AS TongSoLuong, SUM(CTHD.SoLuong * CTHD.DonGia) AS TongGiaTri

FROM NhanVien AS NV INNER JOIN

HoaDon AS HD ON NV.MaNV = HD.MaNV INNER JOIN ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD WHERE (NV.MaBP = 'BP1')

GROUP BY NV.MaNV, NV.HoTen) WHERE (TongGiaTri >= ALL

(SELECT SUM(CTHD.SoLuong * CTHD.DonGia) AS TongGiaTri FROM NhanVien AS NV INNER JOIN

HoaDon AS HD ON NV.MaNV = HD.MaNV INNER JOIN ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD WHERE (NV.MaBP = 'BP1')

GROUP BY NV.MaNV, NV.HoTen))

b.1.8 Thống kê về tỷ lệ nam, nữ của công ty.

SELECT (SELECT COUNT(MaNV) FROM NhanVien

(SELECT COUNT(MaNV)

FROM dbo.NhanVien AS NhanVien_3) AS TyLeNam, (SELECT COUNT(MaNV) AS Expr1

FROM dbo.NhanVien AS NhanVien_2 WHERE (GioiTinh = 1)) * 100 /

(SELECT COUNT(MaNV)

FROM dbo.NhanVien AS NhanVien_1) AS TyLeNu

Kếtquả:

b.1.9 Lập danh sách top 5 nhân viên có mang về nhiều doanh thu nhất cho công ty.

SELECT TOP (5) MaNV, HoTen, TongSoLuongBan, TongGiaTriBan FROM (SELECT NV.MaNV, NV.HoTen, SUM(CTHD.SoLuong) AS

TongSoLuongBan, SUM(CTHD.SoLuong * CTHD.DonGia) AS TongGiaTriBan

FROM NhanVien AS NV INNER JOIN

HoaDon AS HD ON NV.MaNV = HD.MaNV INNER JOIN ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD WHERE (NV.MaBP = 'BP1') AND (YEAR(HD.NgayLap) = '2008') GROUP BY NV.MaNV, NV.HoTen)

ORDER BY TongGiaTriBan DESC

Kết quả:

4.2 Yêu cầu quản lý khách hàng, nhà cung cấp

b.2.3 Lập bảng thống kê khối lượng giao dịch của khách hàng năm 2008. Danh sách gồm mã khách hàng, tên khách hàng, ngày sinh, địa chỉ, điện thoại, tổng khối luợng giao dịch, tổng lợi nhuận của doanh nghiệp do khách hàng mang lại. Sắp xếp theo tổng khối luợng giao

dịch giảm.

SELECT KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai, SUM(CTHD.SoLuong * CTHD.DonGia) AS TongKhoiLuongGiaoDich, SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong) AS LoiNhuan FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH INNER JOIN

ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD INNER JOIN HangHoa AS HH ON CTHD.MaHang = HH.MaHang

GROUP BY KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai ORDER BY TongKhoiLuongGiaoDich DESC

b.2.4 Lập danh sách khách hàng có khối luợng giao dịch lớn nhất trong năm 2008. Danh sách gồm mã khách hàng, tên khách hàng,ngày sinh địa chỉ, điện thoại, tổng khối luợng giao dịch, tổng lợi nhuận của doanh nghiệp do khách hàng mang lại.

SELECT MaKH, Ten, NgaySinh, DiaChi, DienThoai, TongKhoiLuongGiaoDich, LoiNhuan

FROM (SELECT KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi,KH.DienThoai, SUM(CTHD.SoLuong * CTHD.DonGia) AS TongKhoiLuongGiaoDich, SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong) AS LoiNhuan FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH INNER JOIN ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD INNER JOIN HangHoa AS HH ON CTHD.MaHang =

HH.MaHang

GROUP BY KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai)

WHERE (TongKhoiLuongGiaoDich >= ALL (SELECT TongKhoiLuongGiaoDich

FROM (SELECT MaKH, SUM(TongGiaTri) AS TongKhoiLuongGiaoDich

GROUP BY MaKH)))

Kết quả:

b.2.5 Lập danh sách thống kê khối lượng giao dịch của công ty với các tác trong trong năm 2008. Danh sách gồm có mã nhà cung cấp, tên nhà cung cấp, địa chỉ, điện thoại, emal, tổng số tiền mà doanh nghiệp đã bỏ ra để nhập hàng từ nhà cung cấp.

SELECT NCC.MaNCC, NCC.Ten, NCC.DiaChi, NCC.DienThoai, NCC.Email, SUM(PNH.TongGiaTri) AS TongGiaTriGiaoDich

FROM PhieuNhapHang AS PNH INNER JOIN

NhaCungCap AS NCC ON PNH.MaNCC = NCC.MaNCC WHERE (YEAR(PNH.NgayLap) = 2008)

GROUP BY NCC.MaNCC, NCC.Ten, NCC.DiaChi, NCC.DienThoai, NCC.Email

Kết quả:

b.2.6 Lập danh sách nhà cung cấp có khối lượng giao dịch nhiều nhất với công ty trong năm 2008.

SELECT MaNCC, Ten, DiaChi, DienThoai, Email, TongGiaTriGiaoDich

FROM (SELECT NCC.MaNCC, NCC.Ten, NCC.DiaChi, NCC.DienThoai, NCC.Email, SUM(PNH.TongGiaTri) AS TongGiaTriGiaoDich FROM PhieuNhapHang AS PNH INNER JOIN

NhaCungCap AS NCC ON PNH.MaNCC = NCC.MaNCC GROUP BY NCC.MaNCC, NCC.Ten, NCC.DiaChi, NCC.DienThoai,

NCC.Email)

WHERE (TongGiaTriGiaoDich >= ALL

(SELECT TongGiaTriGiaoDich

FROM (SELECT NCC.MaNCC, SUM(PNH.TongGiaTri) AS TongGiaTriGiaoDich

FROM PhieuNhapHang AS PNH INNER JOIN

NhaCungCap AS NCC ON PNH.MaNCC = NCC.MaNCC

WHERE (YEAR(PNH.NgayLap) = 2008) GROUP BY NCC.MaNCC)))

Kết quả:

b.2.8 Lập bảng thống kê số lần đến mua hàng của các khách hàng trong năm 2008. Danh sách gồm có mã khách hàng, họ tên, địa chỉ, điện

SELECT MaKH, Ten, NgaySinh, DiaChi, DienThoai, SoLanDenMua FROM (SELECT KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi,

KH.DienThoai, COUNT(HD.MaHD) AS SoLanDenMua FROM KhachHang AS KH KH LEFT OUTER JOIN HoaDon AS HD ON KH.MaKH = HD.MaKH WHERE (YEAR(HD.NgayLap) = 2008)

GROUP BY KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai)

ORDER BY SoLanDenMua DESC

b.2.9 Lập danh sách top 5 khách hàng có khối lượng giao dich với công ty lớn nhất. Danh sách gồm mã khách hàng, tên khách hàng, ngày sinh, địa chỉ,điện thoại, tổng khối luợng giao dịch.

SELECT TOP (5) MaKH, Ten, NgaySinh, DiaChi, DienThoai,TongGiaTriGiaoDich FROM (SELECT KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai,

SUM(HD.TongGiaTri) AS TongGiaTriGiaoDich FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH GROUP BY KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi,

KH.DienThoai)

ORDER BY TongGiaTriGiaoDich DESC

4.3 Yều cầu từ các nghiệp vụ bán hàng

b.3.4 Lâp danh sách khối lượng giao dịch của khách hàng có mã là x. Danh sách gồm mã khách hàng, họ tên, tổng khối lượng giao dịch

TongKhoiLuongGiaoDich

FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH WHERE (HD.MaKH = 'KH10')

GROUP BY KH.MaKH, KH.Ten

b.3.5 Lập danh sách những hóa đơn đã thanh toán . Danh sách gồm có mã hoá đơn, mã nhân viên, mã khách hàng ,ngày lập, tổng giá trị

SELECT MaHD, MaNV, MaKH, NgayLap, TongGiaTri

FROM (SELECT MaHD, MaNV, MaKH, NgayLap, ISNULL(SoTien, 0) AS SoTienNo, TongGiaTri, SoTien, NgayHen

FROM (SELECT HD.MaHD, HD.MaNV, HD.MaKH, HD.NgayLap,

HD.TongGiaTri, CNB.MaCNB, CNB.SoTien, CNB.NgayHen

FROM HoaDon AS HD LEFT OUTER JOIN

CongNoBan AS CNB ON HD.MaHD = CNB.MaHD) ) WHERE (SoTienNo = '0')

b.3.7 Lập danh sách mặt hàng có số lượng bán nhiều nhất trong năm 2008. Danh sách gồm mã hàng, tên hàng, số lượng bán.

SELECT MaHang, TenHang, SoLuongBan

FROM (SELECT HH.MaHang, HH.TenHang, SUM(CTHD.SoLuong) AS SoLuongBan

FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang GROUP BY HH.MaHang, HH.TenHang

WHERE (SoLuongBan >= ALL (SELECT SoLuongBan

FROM (SELECT HH.MaHang, HH.TenHang,

SUM(CTHD.SoLuong) AS SoLuongBan FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang

GROUP BY HH.MaHang, HH.TenHang)))

b.3.8 Lập bảng thống kê các mặt hàng đuợc bán ra năm 2008. Danh sách gồm có mã hàng, tên hàng, tổng số lượng bán, doanh thu, lợi nhuận từ các mặt hàng đó.

SELECT HH.MaHang, HH.TenHang, SUM(CTHD.SoLuong) AS TongSoLuong, SUM(CTHD.SoLuong * CTHD.DonGia) AS DoanhThu,

SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong) AS LoiNhuan FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang INNER JOIN HoaDon AS HD ON CTHD.MaHD = HD.MaHD

WHERE (YEAR(HD.NgayLap) = '2008') GROUP BY HH.MaHang, HH.TenHang

b.3.9 Lập danh sách mặt hàng mang lại nhiều lợi nhuận nhất cho công ty. Danh sách gồm mã hàng, tên hàng, lợi nhuận

SELECT MaHang, TenHang, LoiNhuan

FROM (SELECT HH.MaHang, HH.TenHang, SUM((CTHD.DonGia – HH.DonGia) * CTHD.SoLuong) AS LoiNhuan FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang GROUP BY HH.MaHang, HH.TenHang)

WHERE (LoiNhuan >= ALL (SELECT LoiNhuan

LoiNhuan

FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang

GROUP BY HH.MaHang, HH.TenHang)))

b.3.10 Tính doanh thu và lợi nhuân của công ty trong năm 2008.

SELECT SUM(CTHD.DonGia * CTHD.SoLuong) AS DoanhThu,

SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong) AS LoiNhuan FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang INNER JOIN HoaDon AS HD ON CTHD.MaHD = HD.MaHD

WHERE (YEAR(HD.NgayLap) = '2008')

b.3.11 Lập bảng thống kê doanh, thu lợi nhuận của từng tháng của năm 2008. Danh sách gồm có tháng, doanh thu, lợi nhuận.

SELECT Thang, SUM(DonGiaBan * SoLuong) AS DoanhThu, SUM((DonGiaBan - DonGia) * SoLuong) AS LoiNhuan

FROM (SELECT HH.DonGia, CTHD.DonGia AS DonGiaBan, CTHD.SoLuong, MONTH(HD.NgayLap) AS Thang

FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang INNER JOIN HoaDon AS HD ON CTHD.MaHD = HD.MaHD WHERE (YEAR(HD.NgayLap) = '2008')) AS derivedtbl_1

GROUP BY Thang

b.3.12 Lập danh sách

các mặt hàng mà khách hàng có mãkh là x đã mua

Danh sách gồm có mã hàng, tên hàng, số lượng, số tiền bỏ ra để mua mặt hàng đó

SELECT HH.MaHang, HH.TenHang, SUM(CTHD.SoLuong) AS TongSoLuong, SUM(CTHD.SoLuong * CTHD.DonGia) AS TongGiaTri

FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang INNER JOIN HoaDon AS HD ON CTHD.MaHD = HD.MaHD

WHERE (HD.MaKH = 'KH10') GROUP BY HH.MaHang, HH.TenHang

b.3.13 Tìm ra tháng trong năm 2008 mà công ty có lợi nhuận lớn nhất

SELECT Thang, LoiNhuan

FROM (SELECT Thang, SUM((DonGiaBan - DonGia) * SoLuong) AS LoiNhuan FROM (SELECT HH.DonGia, CTHD.DonGia AS DonGiaBan,

CTHD.SoLuong, MONTH(HD.NgayLap) AS Thang FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang INNER JOIN

HoaDon AS HD ON CTHD.MaHD = HD.MaHD

WHERE (YEAR(HD.NgayLap) = '2008')) GROUP BY Thang)

WHERE (LoiNhuan >= ALL (SELECT LoiNhuan

FROM (SELECT Thang, SUM((DonGiaBan - DonGia) * SoLuong) AS LoiNhuan

FROM (SELECT HH.DonGia, CTHD.DonGia AS

DonGiaBan, CTHD.SoLuong, MONTH(HD.NgayLap) AS Thang

FROM HangHoa AS HH INNER JOIN ChiTietHoaDon AS CTHD ON

HH.MaHang = CTHD.MaHang INNER JOIN HoaDon AS HD ON CTHD.MaHD = HD.MaHD WHERE (YEAR(HD.NgayLap) = '2008'))

GROUP BY Thang)))

b.3.14 Tính tháng có nhiều khách hàng đến mua hàng nhất.

SELECT Thang, SoKhachHang

FROM (SELECT DISTINCT MONTH(NgayLap) AS Thang, MaKH FROM HoaDon)

GROUP BY Thang) WHERE (SoKhachHang >= ALL (SELECT SoKhachHang

FROM (SELECT Thang, COUNT(MaKH) AS SoKhachHang FROM (SELECT DISTINCT MONTH(NgayLap) AS

Thang, MaKH

FROM HoaDon) GROUP BY Thang)))

b.3.15 Lập danh sách top 5 mặt hàng thu về nhiều lợi nhuận cho công ty nhất. danh sách gồm mã hàng, tên hàng, lợi nhuận.

SELECT TOP (5) MaHang, TenHang, LoiNhuan

FROM (SELECT HH.MaHang, HH.TenHang, SUM((CTHD.DonGia – HH.DonGia) * CTHD.SoLuong) AS LoiNhuan

FROM HangHoa AS HH INNER JOIN

ChiTietHoaDon AS CTHD ON HH.MaHang = CTHD.MaHang GROUP BY HH.MaHang, HH.TenHang)

ORDER BY LoiNhuan DESC

b.3.16 Lập bảng thống kê doanh thu, lợi nhuận của công ty theo khu vực địa lý(khu vưc địa lý theo địa chỉ của khách hàng)

SELECT KH.DiaChi AS KhuVuc, SUM(CTHD.SoLuong * CTHD.DonGia) AS DoanhThu, SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong) AS LoiNhuan

FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH INNER JOIN

ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD INNER JOIN HangHoa AS HH ON CTHD.MaHang = HH.MaHang

b.3.17 Lập danh sách những hóa đơn đã thanh toán. Danh sách gồm mã hóa đơn, mã nhân viên, mã khách hàng,ngày lập,tổng giá trị, lợi nhuận.

SELECT MaHD, MaNV, MaKH, NgayLap, TongGiaTri, LoiNhuan

FROM (SELECT HTH.MaHD, HTH.MaNV, HTH.MaKH, HTH.NgayLap, HTH.TongGiaTri, HTH.LoiNhuan, ISNULL(CNB.SoTien, 0) AS SoTienNo FROM (SELECT HD.MaHD, HD.MaNV, HD.MaKH, HD.NgayLap,

SUM(CTHD.DonGia * CTHD.SoLuong) AS TongGiaTri, SUM((CTHD.DonGia - HH.DonGia) * CTHD.SoLuong)

AS LoiNhuan

FROM HoaDon AS HD INNER JOIN

ChiTietHoaDon AS CTHD ON HD.MaHD = CTHD.MaHD

INNER JOINHangHoa AS HH ON CTHD.MaHang =

HH.MaHang

GROUP BY HD.MaHD, HD.MaNV, HD.MaKH, HD.NgayLap) AS HTH LEFT OUTER JOIN CongNoBan AS CNB ON HTH.MaHD = CNB.MaHD)

WHERE (SoTienNo = '0')

4.4 Yêu cầu từ các nghiệp vụ nhập hàng

b.4.6 Lập bảng thống kê các mặt hàng được nhập bởi công ty trong năm 2008. Danh sách gốm có mã hàng, tên hàng, số lượng, số tiền bỏ ra để nhập mặt hàng đó.

SELECT HH.MaHang, HH.TenHang, SUM(CTPNH.SoLuong) AS SoLuongNhap, SUM(CTPNH.SoLuong * CTPNH.DonGia) AS TongGiaTri

FROM HangHoa AS HH INNER JOIN

ChiTietPhieuNhapHang AS CTPNH ON HH.MaHang = CTPNH.MaHang INNER JOIN PhieuNhapHang AS PNH ON CTPNH.MaPN = PNH.MaPN

WHERE (YEAR(PNH.NgayLap) = '2008') GROUP BY HH.MaHang, HH.TenHang

b.4.7 Lập danh sách mặt hàng được công ty nhập nhiều nhất trong năm 2008. Danh sách gồm có mã hàng, tên hàng, số lượng nhập.

SELECT MaHang, TenHang, SoLuongNhap

FROM (SELECT MaHang, TenHang, SoLuongNhap

FROM (SELECT HH.MaHang, HH.TenHang, SUM(CTPNH.SoLuong) AS SoLuongNhap

FROM HangHoa AS HH INNER JOIN

ChiTietPhieuNhapHang AS CTPNH ON HH.MaHang = CTPNH.MaHang INNER JOIN

PhieuNhapHang AS PNH ON CTPNH.MaPN = PNH.MaPN WHERE (YEAR(PNH.NgayLap) = '2008')

GROUP BY HH.MaHang, HH.TenHang)) WHERE (SoLuongNhap >= ALL

(SELECT SoLuongNhap

FROM (SELECT MaHang, TenHang, SoLuongNhap FROM (SELECT HH.MaHang, HH.TenHang,

SUM(CTPNH.SoLuong) AS SoLuongNhap FROM HangHoa AS HH INNER JOIN

ChiTietPhieuNhapHang AS CTPNH ON HH.MaHang = CTPNH.MaHang INNER JOIN PhieuNhapHang AS PNH ON

CTPNH.MaPN = PNH.MaPN

WHERE (YEAR(PNH.NgayLap) = '2008') GROUP BY HH.MaHang, HH.TenHang))))

b.4.8 Tìm nhà cung cấp mà công ty bỏ nhiều tiến ra nhất để nhập hàng trong năm 2008.

SELECT MaNCC, Ten, TongGiaTriNhap

FROM (SELECT NCC.MaNCC, NCC.Ten, SUM(PNH.TongGiaTri) AS TongGiaTriNhap

FROM NhaCungCap AS NCC INNER JOIN

PhieuNhapHang AS PNH ON NCC.MaNCC = PNH.MaNCC WHERE (YEAR(PNH.NgayLap) = '2008')

GROUP BY NCC.MaNCC, NCC.Ten) WHERE (TongGiaTriNhap >= ALL

(SELECT TongGiaTriNhap

AS TongGiaTriNhap

FROM NhaCungCap AS NCC INNER JOIN

PhieuNhapHang AS PNH ON NCC.MaNCC = PNH.MaNCC WHERE (YEAR(PNH.NgayLap) = '2008')

GROUP BY NCC.MaNCC, NCC.Ten)))

b.4.9 Lập bảng thống kê tình hình nhập hàng của công ty trong từng tháng năm 2008. Danh sách gồm tháng, số tiền chi cho nhập hàng.

SELECT Thang, SUM(TongGiaTri) AS TongGiaTriNhap FROM (SELECT TongGiaTri, MONTH(NgayLap) AS Thang FROM dbo.PhieuNhapHang AS PNH

WHERE (YEAR(NgayLap) = '2008')) GROUP BY Thang

b.4.10 tính tháng mà công ty có giá trị nhập lớn nhất trong năm 2008.

SELECT Thang, TongGiaTriNhap

FROM (SELECT Thang, SUM(TongGiaTri) AS TongGiaTriNhap

FROM (SELECT TongGiaTri, MONTH(NgayLap) AS Thang FROM PhieuNhapHang AS PNH

WHERE (YEAR(NgayLap) = '2008')) GROUP BY Thang)

WHERE (TongGiaTriNhap >= ALL (SELECT TongGiaTriNhap

FROM (SELECT Thang, SUM(TongGiaTri) AS TongGiaTriNhap FROM (SELECT TongGiaTri, MONTH(NgayLap) AS Thang FROM PhieuNhapHang AS PNH

WHERE (YEAR(NgayLap) = '2008')) GROUP BY Thang)))

b.4.11 Lập bảng thống kê tình hình giao dịch của công ty với từng nhà cung cấp trong năm 2008. Danh sách gồm có mã nhà cung cấp, tên

SELECT NCC.MaNCC, NCC.Ten, SUM(PNH.TongGiaTri) AS TongGiaTriNhap FROM NhaCungCap AS NCC INNER JOIN

PhieuNhapHang AS PNH ON NCC.MaNCC = PNH.MaNCC WHERE (YEAR(PNH.NgayLap) = '2008')

GROUP BY NCC.MaNCC, NCC.Ten

b.4.12 Lập danh sách top 5 mặt hàng công ty nhập nhiều nhất 2008. Danh danh sách gồm có mã hàng, tên hàng, tổng giá trị nhập.

SELECT TOP (5) HH.MaHang, HH.TenHang, SUM(CTPNH.DonGia * CTPNH.DonGia) AS TongGiaTriNhap

FROM HangHoa AS HH INNER JOIN

ChiTietPhieuNhapHang AS CTPNH ON HH.MaHang = CTPNH.MaHang INNER JOIN PhieuNhapHang AS PNH ON CTPNH.MaPN = PNH.MaPN GROUP BY HH.MaHang, HH.TenHang

ORDER BY TongGiaTriNhap DESC

b.4.13 Lập danh sách những phiếu nhập đã thanh toán. Danh sách gồm mã phiếu nhập, mã nhà cung cấp, ngày lập, tổng giá trị.

SELECT MaPN, MaNCC, NgayLap, TongGiaTri

FROM (SELECT PNH.MaPN, PNH.MaNCC, PNH.NgayLap, PNH.TongGiaTri, ISNULL(CNN.SoTien, 0) AS SoTienNo

FROM PhieuNhapHang AS PNH LEFT OUTER JOIN

CongNoNhap AS CNN ON PNH.MaPN = CNN.MaPN) WHERE (SoTienNo = '0')

4.5 Yêu

cầu từ nghiệp vụ quản lý kho hàng

b.5.2 Lập danh sách các loại hàng tồn kho. Danh sách gồm mã loại, tên loại, giá trị tồn

SELECT LH.MaLoai, LH.TenLoai, SUM(HH.DonGia * HH.SoLuong) AS TongGiaTriTon

FROM LoaiHang AS LH INNER JOIN

HangHoa AS HH ON LH.MaLoai = HH.MaLoai GROUP BY LH.MaLoai, LH.TenLoai

b.5.3 Lập bảng thống kê số top 5 hàng hóa có lượng tồn lớn nhất. Danh sách gồm mã hàng, tên hàng, số lượng tồn

SELECT TOP (5) MaHang, TenHang, SoLuong FROM HangHoa

ORDER BY SoLuong DESC

b.5.4 Lập danh hàng hóa trong kho có số lượng tồn nhiều nhất Danh sách gồm có mã hàng , tên hàng, mã loại, số lượng

SELECT MaHang, TenHang, MaLoai, SoLuong FROM HangHoa

WHERE (SoLuong >= ALL (SELECT SoLuong

FROM HangHoa AS HangHoa_1))

b.5.5 Lập danh sách mặt hàng có giá trị tồn cao nhất trong kho. Danh sách gồm có mã hàng, tên hàng, mã loại, trị giá tồn

SELECT MaHang, TenHang, MaLoai, SoLuong * DonGia AS GiaTriTon FROM HangHoa

WHERE ((SoLuong * DonGia) >= ALL (SELECT SoLuong * DonGia

4.6 Yêu cầu từ nghiệp vụ quản lý tài chính

b.6.3 Lập danh sách những phiếu thu của công ty từ bán hàng trong thang 11 năm 2008.

SELECT MaPT, MaHD, SoTien, NgayThu FROM PhieuThu

WHERE (MONTH(NgayThu) = '11') AND (YEAR(NgayThu) = '2008')

b.6.5 Lập bảng thống kê số tiền chi cho việc nhập hàng trong từng tháng của năm 2008. Danh sách gốm có tháng, số tiên chi.

SELECT MONTH(NgayChi) AS Thang, SUM(SoTien) AS ASTongSoTienChi FROM PhieuChi

WHERE (YEAR(NgayChi) = '2008') GROUP BY MONTH(NgayChi) ORDER BY Thang

b.6.6 Lập bảng thống kê số tiền thu tù việc bàn hàng trong từng tháng của năm 2008. Danh sách gồm có tháng, số tiền thu.

SELECT MONTH(NgayThu) AS Thang, SUM(SoTien) AS TongSoTienThu FROM PhieuThu

WHERE (YEAR(NgayThu) = '2008')

GROUP BY MONTH(NgayThu)

b.6.7 Thống kê tình hình thu chi của công ty từ việc bán và nhập hàng . Danh sách gồm có tổng số tiền thu, tổng số tiền chi, Thặng dư ( bằng số tiền thu – số tiền chi).

SELECT HHH.TongSoTienThu, HTH.TongSoTienChi, HHH.TongSoTienThu – HTH.TongSoTienChi AS ThangDu

FROM (SELECT SUM(SoTien) AS TongSoTienThu, '0' AS Tam FROM dbo.PhieuThu) AS HHH INNER JOIN

(SELECT SUM(SoTien) AS TongSoTienChi, '0' AS Tam FROM dbo.PhieuChi) AS HTH ON HHH.Tam = HTH.Tam

b.6.8 Lập danh thống kê tình hình thu, chi, thặng dư (thu-chi) của công ty trong từng tháng năm 2008.

SELECT HHH.Thang, HHH.SoTienThu, HTH.SoTienChi, HHH.SoTienThu – HTH.SoTienChi AS ThangDu

FROM (SELECT MONTH(NgayThu) AS Thang, SUM(SoTien) AS SoTienThu

FROM dbo.PhieuThu

GROUP BY MONTH(NgayThu)) AS HHH INNER JOIN

(SELECT MONTH(NgayChi) AS Thang, SUM(SoTien) AS SoTienChi FROM dbo.PhieuChi

GROUP BY MONTH(NgayChi)) AS HTH ON HHH.Thang = HTH.Thang

4.7 Yêu cầu từ nghiệp vụ quản lý công nợ

b.7.1 Lập danh sách các hóa đơn còn nợ công ty phát sinh trong tháng 3 năm 2008. Danh sách gồm có mã hóa đơn, số tiền còn nợ, ngày hẹn.

HoaDon AS HD ON CNB.MaHD = HD.MaHD

WHERE (MONTH(HD.NgayLap) = '3') AND (YEAR(HD.NgayLap) = '2008')

b.7.3 Lập danh sách các khách hàng còn nợ tiền công ty. Danh sách gồm có mã khách hàng, tên khách hàng, địa chỉ, điên thoại, tổng số tiền nợ

SELECT KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai, SUM(CNB.SoTien) AS TongSoTienNo

FROM KhachHang AS KH INNER JOIN

HoaDon AS HD ON KH.MaKH = HD.MaKH INNER JOIN CongNoBan AS CNB ON HD.MaHD = CNB.MaHD

GROUP BY KH.MaKH, KH.Ten, KH.NgaySinh, KH.DiaChi, KH.DienThoai

b.7.5 Lập danh các hóa đơn đã quá hẹn thanh toán. Danh sách gồm có mã hóa đơn, mã khách hàng, tổng giá trị hóa đơn, số tiền còn nợ, ngày hẹn

thanh toán, số ngày trễ hẹn thanh toán.

SELECT HD.MaHD, HD.MaKH, HD.TongGiaTri, CNB.SoTien AS SoTienConNo, CNB.NgayHen, DATEDIFF(Day, CNB.NgayHen, { fn NOW() }) AS

NgayTreHen

FROM HoaDon AS HD INNER JOIN

CongNoBan AS CNB ON HD.MaHD = CNB.MaHD WHERE (CNB.NgayHen < { fn NOW() })

b.7.6 Lập danh các phiếu nhập đã quá hẹn thanh toán. Danh sách gồm có mã phiếu nhập, mã nhà cung cấp, tổng giá trị, số tiền còn nợ, ngày hẹn

Một phần của tài liệu Đồ án Quản lý kinh doanh của công ty Phong Vũ (Trang 25 - 46)

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

(65 trang)
w