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,785 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

hainguyen [T2008A]

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



create database QuanLyBanHang

use QuanLyBanHang

create table product (
	id int primary key identity (1,1),
	name nvarchar(100),
	nha_sx nvarchar(100),
	made_in nvarchar(50),
	price float,
	price_sell float,
	ngay_sx date
)

insert into product(name, nha_sx, made_in, price, price_sell, ngay_sx)
values
('Iphone 5s', 'Apple', 'US', '4.000', '2.000', '2018-05-12'),
('Iphone 6s', 'Apple', 'US', '9.000', '6.000', '2019-05-12'),
('Iphone 6s plus', 'Apple', 'China', '10.000', '8.000', '2019-07-12'),
('Iphone 7', 'Apple', 'China', '11.000', '8.000', '2019-06-20'),
('Iphone XS', 'Apple', 'US', '20.000', '21.000', '2020-05-12'),
('Iphone 12', 'Apple', 'UK', '42.000', '44.000', '2012-12-12'),
('Samsung 7', 'Samsung', 'Korea', '12.000', '13.000', '2017-04-30'),
('Samsung note 7', 'Samsung', 'Kkorea', '13.000', '10.000', '2018-08-25'),
('Samsung 10', 'Samsung', 'China', '32.000', '29.000', '2018-05-18'),
('Samsung 10s', 'Samsung', 'Korea', '40.000', '44.000', '2019-05-21')

select * from product

create table orders (
	id int primary key identity (1,1),
	id_hanghoa int references product(id),
	note nvarchar(500),
	ngay_ban date,
	num int
)

insert into orders(id_hanghoa, note, ngay_ban, num)
values
(1, '', '2018-05-12', 3),
(2, '', '2019-06-12', 5),
(3, '', '2019-08-21', 3),
(4, '', '2019-07-29', 5),
(5, '', '2018-02-12', 3),
(6, '', '2020-06-27', 4),
(7, '', '2018-02-12', 3),
(8, '', '2018-06-24', 4),
(9, '', '2018-07-23', 6),
(10, '', '2019-08-30', 8)

select * from orders

create view view_orders
as
select orders. *, product.price_sell
from product, orders
where product.id = orders.id_hanghoa and num > 0

select * from view_orders

create proc proc_orders
	@made_in nvarchar(50)
as
begin
	select product.id, product.name, product.made_in, product.price_sell, orders.ngay_ban, orders.num
	from product, orders
	where product.id = orders.id_hanghoa and product.made_in = @made_in
end

exec proc_orders 'Korea'

create proc proc_total
	@product_id int, @total money output
as
begin
	select product.id, product.name, orders.num, product.price_sell, sum(orders.num) total
	from product, orders
	where product.id = orders.id_hanghoa and product.id = @product_id
	group by product.id, product.name, orders.num, product.price_sell

	select @total = SUM(total) from (
	select product.id, product.name, orders.num, product.price_sell, sum(orders.num) total
	from product, orders
	where product.id = orders.id_hanghoa and product.id = @product_id
	group by product.id, product.name, orders.num, product.price_sell
	) t
end

drop proc proc_total

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


Đã sao chép!!!