IMG-LOGO
×

Giáo Trình Môn Học

Khoá học lập trình SQL

Kiến Thức Core SQL Server

[Video] Hướng dẫn cách xác định kiểu dữ liệu, primary key, foreign key trong SQL - My SQL - SQL Server [Video] Hướng dẫn thao tác nhiểu bảng - select - multi table - join, inner join trong SQL Server [Video] Hướng dẫn phân tích CSDL - phân tích bảng, column trong bản - Học lập trình SQL, SQL Server [Video] Hướng dẫn tìm hiểu create, alter , insert table và bản chất primary key, foreign key - SQL Server [Video] Hướng dẫn tìm hiểu select, and, in, like, not in,group by .. having, order by asc, desc - SQL Server [Video] Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

View SQL Server

[Video] Hướng dẫn tìm hiểu view trong SQL Server Bài Giảng: Hướng dẫn tìm hiểu view + proc trong SQL - Lập trình SQL Server

Store & Procedure

[Video] Hướng dẫn tìm hiểu proc procedure trong SQL Server - Lập trình SQL Server, MySQL Bài Giảng: Xây dự hệ thống đưa đón học sinh bằng xe bus của Trường Học - Lập trình SQL Server [Video] Xây dựng CSDL quản lý điểm danh aptech - Lập trình SQL Server/MySQL

Trigger

[Video] Học Trigger qua ví dụ - quản lý nhà trên phố - Lập trình SQL Server [Video] Hướng dẫn học trigger qua bài quản lý điểm danh Aptech - Lập trình SQL Server [Video] Bài tập - Quản lý nhân khẩu - Lập trình SQL Server - MySQL




Trang Chủ SQL Server/MySQL Bài tập - Chương trình quản lý bán hàng - Lập trình SQL Server

Bài tập - Chương trình quản lý bán hàng - Lập trình SQL Server

by GokiSoft.com - 20:11 12/01/2022 10,777 Lượt Xem

Yêu cầu.

1.Thiết kế bảng hàng hóa gồm các column sau

- id kiểu số nguyên, khóa chính, tự tăng

- tên mặt hàng

- nhà sản xuất
- xuất xứ (Việt Nam, Japan, ...)
- giá nhập
- giá bán
- ngày sản xuất : kiểu dữ liệu date

->Thực hiện chèn them 10 bản ghi vào bảng
2. Thiết kế bảng bán hàng gồm các column sau
- id đơn hàng kiểu số nguyên, khóa chính, tự tăng
- id_hanghoa khóa ngoai liên kết vs khóa id của bang hàng hóa
- chú thich : dùng ghi lại cho mỗi đơn hàng
- ngày bán : kiểu date
- số lượng

- gia ban

->Thực hiện nhập 10 bản ghi cho bảng này

3. Thực hiện liệt kê tất cả các đơn hàng đã được bán ra -> Dùng view để thiết kế
4. Liệt kê các đơn hàng được bán ra có xuất xứ -> yêu cầu viết procedure có tham số truyền vào là xuất xứ
5. Thống kê tổng giá bán được cho từng mặt hàng. -> viết procedure có tham số truyền vào là mặt hàng và tham số đấu già là total

Bình luận



Chia sẻ từ lớp học

Do Trung Duc [T2008A]

Ngày viết: 15:12 11/12/2020



create database quanlybanhang11_12_2020
use quanlybanhang11_12_2020

create table Product(
ID int identity(1,1),
Name nvarchar(200),
Manufacture  nvarchar(200),
Country nvarchar(200),
Price_In money,
Price_Out money,
Manufacture_Date date,
constraint PK_Product primary key (ID)
)

create table Sale(
ID int identity(1,1),
ProductID int, 
Note nvarchar(200),
SaleDay date,
Quantity int,
constraint PK_Sale primary key (ID),
constraint FK_Sale_ProductID foreign key (ProductID) references Product(ID)
)

--Them ban ghi
select * from Product
insert into  Product(Name,Manufacture,Country,Price_In,Price_Out,Manufacture_Date)
values
('Giay cong so V1','TrungDucShoes','VietNam','10','15','10-10-2020'),
('Giay leo nui Nike','Nike','Germany','20','25','10-10-2020'),
('Giay chay bo TD','ThuongDinhShoes','VietNam','5','10','10-10-2020'),
('Giay leo nui TDN','TrungDucShoes','VietNam','12','20','10-10-2020'),
('Giay cong so Ma1','Madoni','France','30','35','10-10-2020'),
('Giay the thao A1','Adidas','America','25','35','10-10-2020'),
('Giay leo nui T1','TienDatShoes','VietNam','08','12','10-10-2020'),
('Giay cong so VD','VanDiepShoes','VietNam','100','125','10-10-2020'),
('Giay the thao Lining ','Lining','China','20','30','10-10-2020')

select * from Sale
insert into Sale(ProductID,Note,SaleDay,Quantity)
values
(1,'Hang moi 100%','10-10-2020','3'),
(2,'Hang moi 100%','10-10-2020','1'),
(3,'Hang moi 100%','10-10-2020','5'),
(1,'Hang moi 100%','10-10-2020','2'),
(4,'Hang moi 100%','10-10-2020','7'),
(5,'Hang moi 100%','10-10-2020','5'),
(4,'Hang moi 100%','10-10-2020','2'),
(6,'Hang moi 100%','10-10-2020','9'),
(7,'Hang moi 100%','10-10-2020','1'),
(5,'Hang moi 100%','10-10-2020','6')

-- Thực hiện liệt kê tất cả các đơn hàng đã được bán ra -> Dùng view để thiết kế
select * from Product
select * from Sale

create view List_saled
as
select * from Sale

select * from List_saled

--Liệt kê các đơn hàng được bán ra có xuất xứ -> yêu cầu viết procedure có tham số truyền vào là xuất xứ
create proc List_saled_country
	@country nvarchar(200)
as
BEGIN
	select Sale.ProductID,Sale.SaleDay,Sale.Quantity,Product.Manufacture,Product.Country
	from Sale left join Product on Sale.ProductID = Product.ID
	where Product.Country = @country
END

exec List_saled_country VietNam

--Thống kê tổng giá bán được cho từng mặt hàng. -> viết procedure có tham số truyền vào là mặt hàng và tham số đấu già là total
create proc totalprice 
 @productID int, @total money output
 as
 begin
	
	select Sale.ProductID, Product.Name, Product.Price_Out * sum(Sale.Quantity) as tonggia
	from Sale left join Product on Sale.ProductID = Product.ID where Product.Id = @productID
	group by Sale.ProductID, Product.Name, Product.Price_Out

	select  @total = sum(tonggia) from 
	(select Sale.ProductID, Product.Name,  Product.Price_Out * sum(Sale.Quantity) as tonggia
	from Sale left join Product on Sale.ProductID = Product.ID where Product.Id = @productID
	group by Sale.ProductID, Product.Name, Product.Price_Out) as t
 end

 declare @total money
 exec totalprice 1, @total = @total output
 print @total




Đã sao chép!!!