Bài tập sql server quản lý bán hàng

Short URL: https://neftekumsk.com/1801Yê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ảng2. 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ạn đang xem: Bài tập sql server quản lý bán hàng

Theo dõi cập nhật nội dung học trên Youtube & Facebook


C2002LT2008AC2009IToday_C2009IC2010GC2010LToday_C2010LQuản lý vật tư bảng SQLSQL quản lý nhà hàngDatabase quản lý bán hàngBài tập cơ sở dữ liệu quản lý bán hàngBài tập SQL quản lý khách sạn có lời giảiBài tập SQL Server quản lý bán hàng đọcBài tập SQL quản lý vật tưBài tập SQL quản lý nhân viên
Bình luận

Phản Hồi Bởi:

(1) Nguyễn Tiến Đạt (2) Nguyễn Xuân Mai (3) hainguyen (4) Đỗ Minh Quân (5) Do Trung Duc (6) Nguyễn đình quân (7) vuong huu phu (8) Trần Văn Lâm (9) Trần Thị Khánh Huyền (10) Nguyễn Hữu Hiếu (11) Nguyên Phấn Đông (12) Triệu Văn Lăng (13) nguyễn Sử (14) TRẦN VĂN ĐIỆP (15) Hoàng Thái Sơn

Chia sẻ từ lớp học


*

Hoàng Thái Sơn


Create database QuanLyBanHang

go

use QuanLyBanHang

go

Create table Product (

id int primary key identity (1,1),

name nvarchar(50),

producer nvarchar(50),

made_in nvarchar(30),

price_in int,

price_out int,

day_released date

)

go

Create table Sell (

id int primary key identity(1,1),

id_product int,

note text,

day_sell date,

quantity int,

FOREIGN KEY (id_product) references Product(id)

)

go

insert into Product(name, producer, made_in, price_in, price_out, day_released)

values

go

insert into Sell (id_product, note, day_sell, quantity)

values

go

select * from Product

select * from Sell

create view view_sold_product

as

select sell.id "Prodcut code", Product.name, Product.made_in, sell.day_sell, sell.quantity

from Sell, Product

where sell.id_product = Product.id

select * from view_sold_product

create proc proc_view_sold_product


origin nvarchar(20)

as begin

select sell.id "Prodcut code", Product.name, Product.made_in, sell.day_sell, sell.quantity

from Sell, Product

where Sell.id_product=Product.id and

Product.made_in =
origin

end

exec proc_view_sold_product Canada

select Product.name, SUM(Product.price_out * Sell.quantity) "Total_price"

from Sell left join Product on Sell.id_product = Product.id

group by Product.name

create proc proc_sum_price_product


mat_hang nvarchar(20),


total int output

as begin

select
total = SUM(Product.price_out * Sell.quantity)

from Product, Sell

where Sell.id_product = Product.id

and Product.name =
mat_hang

group by Product.name, Product.price_out

end

drop proc proc_sum_price_product

declare
count int

exec proc_sum_price_product "tu lanh",
total =
count output

print N"Tong gia tri: " + + CONVERT(nvarchar(20),
count)


*

madein nvarchar(50)asbeginselect product.id, product.producer_name, product.madein, product.sell_price, orders.numberfrom product inner join orders on product.id = orders.product_idwhere product.madein =
madeinorder by product.id ascendexec proc_product_by_madein "Viet Nam"-- create proccreate proc proc_statistic_product
productId int,
total float outputasbegin-- TESTselect product.id, product.producer_name, product.madein, sum(orders.number * orders.price) as "TotalMoney"from product inner join orders on product.id = orders.product_idgroup by product.id, product.producer_name, product.madeinorder by TotalMoney desc-- Chuc nang can lamselect
total = sum(orders.number * orders.price)from product inner join orders on product.id = orders.product_idwhere product.id =
productIdenddeclare
total intexec proc_statistic_product 3,
total =
total outputprint N"Doanh thu cua san pham 3: " + convert(nvarchar,
total)
*

xuatxu nvarchar(100)asbeginselect hang_hoa.ten_hang, hang_hoa.gia_ban, hang_hoa.gia_nhap, hang_hoa.ngay_sx, hang_hoa.nha_sx, hang_hoa.xuat_xu, ban_hang.chu_thich, ban_hang.ngay_ban, ban_hang.so_luongfrom hang_hoa,ban_hangwhere hang_hoa.id=ban_hang.ID_hang_hoa and hang_hoa.xuat_xu =
xuatxuendexec xuat_xu "China"--- 5 ---create gia_ban

Xem thêm: Tai Game Ninja Shool Mien Phi Khong Gan Kich Hoat, Tai Game Ongamemini Khong Can Kich Hoat

tenhang int,
total money outputasbeginselect hang_hoa.ten_hang, hang_hoa.gia_ban, hang_hoa.gia_nhap, hang_hoa.ngay_sx, hang_hoa.nha_sx, hang_hoa.xuat_xu, ban_hang.chu_thich, ban_hang.ngay_ban, ban_hang.so_luong, hang_hoa.gia_ban *sum(ban_hang.so_luong) as tong_giafrom hang_hoa,ban_hangwhere hang_hoa.id=ban_hang.ID_hang_hoa and
tenhang = hang_hoa.idgroup by Hang_hoa.ten_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_banselect
total = tong_gia from(select Hang_hoa.ten_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban * sum(ban_hang.so_luong) as tong_giafrom ban_hang,Hang_hoawhere Hang_hoa.id = ban_hang.id_hang_hoa and
mathang = Hang_hoa.idgroup by Hang_hoa.ten_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban)as abcenddeclare
total moneyexec gia_ban 1 ,
total =
total outputprint
totalend
*

origin nvarchar(20)asbeginselect sell.id_order, product.name, sell.date_sell, sell.amountfrom sell, productwhere product.id=sell.id and endexec vw_origin "Japan"create proc vw_tatal_price
productId int,
tatal_price float outputasbeginselect
tatal_price=sum(product.price*sell.amount)from product, sellwhere product.id=sell.id and enddeclare
tatal_price float exec vw_tatal_price 3,
_price output print
tatal_price print N"Tong tien ban duoc: "+ convert(nvarchar(50),
tatal_price)
*

-- Tao databaseCREATE DATABASE BT1801-- Active databaseUSE BT1801-- Tao tablesCREATE TABLE product (id INT PRIMARY KEY IDENTITY(1,1),name NVARCHAR(150) NOT NULL,manufacturer_name NVARCHAR(50),madein NVARCHAR(50),buy FLOAT,sell FLOAT,created_at date)CREATE TABLE orders (id INT PRIMARY KEY IDENTITY(1,1),id_product INT REFERENCES dbo.product(id),note NVARCHAR(200),num INT,created_at date)-- Insert du lieuINSERT INTO dbo.product ( name ,manufacturer_name ,madein ,buy ,sell ,created_at)VALUES("san pham 1", "ABC", "Viet Nam", 10000, 20000, GETDATE()),("san pham 2", "324", "Viet Nam", 20000, 60000, GETDATE()),("san pham 3", "sfds", "US", 100000, 200000, GETDATE()),("san pham 4", "23424", "Viet Nam", 10000, 20000, GETDATE()),("san pham 5", "234", "Viet Nam", 10000, 20000, GETDATE()),("san pham 6", "AB54C", "JP",510000, 660000, GETDATE()),("san pham 7", "65", "JP", 10000, 20000, GETDATE()),("san pham 8", "456", "Viet Nam", 10000, 20000, GETDATE())INSERT INTO dbo.orders ( id_product, note, num, created_at )VALUES(2, "Ship ve Y Yen Nam Dinh", 2, GETDATE()),(3, "xin chao", 2, GETDATE()),(4, "hang fake", 2, GETDATE()),(3, "okok", 2, GETDATE()),(2, "madein china - hang JP", 2, GETDATE()),(5, "Ship ve Y Yen Nam Dinh", 2, GETDATE())-- View: name, manufacturer_name, madein, sell, num, ngay banCREATE VIEW view_show_product_sellingASSELECT dbo.product.name, dbo.product.manufacturer_name, dbo.product.madein, dbo.product.sell, dbo.orders.num, dbo.orders.created_at AS "OrderDate"FROM dbo.product, dbo.ordersWHERE dbo.product.id = dbo.orders.id_productSELECT * FROM view_show_product_selling-- Tao produceCREATE PROC proc_show_product_selling_by_madein
madein nvarchar(50)ASBEGINSELECT dbo.product.name, dbo.product.manufacturer_name, dbo.product.madein, dbo.product.sell, dbo.orders.created_at AS "OrderDate"FROM dbo.product, dbo.ordersWHERE dbo.product.id = dbo.orders.id_productAND dbo.product.madein =
madeinENDEXEC proc_show_product_selling_by_madein "Viet Nam"EXEC proc_show_product_selling_by_madein "US"-- PROC tinh tong so tien ban dc vs 1 mat hangCREATE PROC proc_total_price_by_product_id
productId int,
totalPrice float OUTPUTASBEGINSELECT
totalPrice = SUM(dbo.product.sell * orders.num)FROM dbo.product, dbo.ordersWHERE dbo.product.id = dbo.orders.id_productAND dbo.product.id =
productIdENDDECLARE
totalPrice FLOATEXEC proc_total_price_by_product_id 5,
totalPrice =
totalPrice OUTPUTPRINT
totalPricePRINT N"Tong tien ban duoc: " + CONVERT(nvarchar(50),
totalPrice)
‹1