MySQL: Solution Practical 4 - MySQL
Giải phóng thời gian, khai phóng năng lực
#6.
SELECT SUM(donGia*soLuongMua) AS 'Tổng số tiền thu được' FROM items a JOIN customeritem b ON a.maHang=b.maHang
#7.
SELECT a.ten,SUM(donGia*soLuongMua) AS'Tổng số tiền đã mua' FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach JOIN items c ON b.maHang=c.maHang GROUP BY a.maKhach,a.ten HAVING(SUM(donGia*soLuongMua)=(SELECT SUM(donGia*soLuongMua) FROM items d JOIN customeritem e ON d.maHang=e.maHang GROUP BY maKhach ORDER BY SUM(donGia*soLuongMua) DESC LIMIT 1))
#8.
SELECT CASE COUNT(*)
WHEN 0 THEN 'Không mua'
ELSE 'Có mua'
END AS 'Kết quả'
FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach JOIN items c ON b.maHang=c.maHang WHERE soDienThoai='2468888' AND c.ten='Tu lanh'
#9.
SELECT
(SELECT ((SELECT SUM(soLuong) FROM items) - (SELECT SUM(soLuongMua) FROM customeritem))) as 'Tổng số hàng tồn',
(SELECT ((SELECT SUM(donGia*soLuong) from items)-(SELECT SUM(donGia*soLuongMua) FROM items a JOIN customeritem b ON a.maHang=b.maHang))) AS 'Tổng số tiền tồn'
#10.
SELECT ten,SUM(soLuongMua) FROM items a JOIN customeritem b ON a.maHang=b.maHang GROUP BY a.maHang,ten ORDER BY SUM(soLuongMua) DESC LIMIT 3
#11.
SELECT ten AS 'Những mặt hàng chưa bán được' FROM items WHERE maHang NOT IN(SELECT DISTINCT maHang FROM customeritem)
SELECT ten AS 'Những mặt hàng chưa bán được' FROM items WHERE maHang NOT IN(SELECT DISTINCT maHang FROM customeritem)
#12.
SELECT ten,COUNT(a.maKhach) AS 'Số loại mặt hàng đã mua' FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach GROUP BY a.maKhach,ten HAVING(COUNT(a.maKhach)>1)
SELECT ten,COUNT(a.maKhach) AS 'Số loại mặt hàng đã mua' FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach GROUP BY a.maKhach,ten HAVING(COUNT(a.maKhach)>1)
#13.
SELECT a.ten AS 'Tên người mua',c.ten AS 'Tên mặt hàng',soLuongMua FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach JOIN items c ON b.maHang=c.maHang WHERE soLuongMua>1
SELECT a.ten AS 'Tên người mua',c.ten AS 'Tên mặt hàng',soLuongMua FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach JOIN items c ON b.maHang=c.maHang WHERE soLuongMua>1
#14.
SELECT a.ten,SUM(donGia*soLuongMua) AS 'Tổng số tiền mua', CASE
WHEN SUM(donGia*soLuongMua)<5000 THEN 'Level1'
WHEN SUM(donGia*soLuongMua)<1000 THEN 'Level2'
ELSE 'V.I.P'
END AS 'Level'
FROM customers a JOIN customeritem b ON a.maKhach=b.maKhach JOIN items c ON b.maHang=c.maHang GROUP BY a.maKhach,a.ten
Giải phóng thời gian, khai phóng năng lực