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

vuong huu phu [T2008A]

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



create database qunlybanhang
use qunlybanhang

create table Hang_hoa(
id int identity(1,1) primary key,
Ten_mat_hang nvarchar (100),
Nha_sx nvarchar(100),
Xuat_xu nvarchar(100),
Gia_nhap money,
Gia_ban money,
Ngay_san_xuat date
)
insert into Hang_hoa (Ten_mat_hang,Nha_sx,Xuat_xu,Gia_nhap,Gia_ban,Ngay_san_xuat)
values
('Ban an','A','Trung Quoc','100','150','2020-10-20'),
('Ban an B ','A','Viet Nam','100','150','2020-10-20'),
('Ban B','A','Nhat Ban','100','150','2020-10-20'),
('Ban C','B','Viet Nam','100','150','2020-10-20'),
('Ban EE','C','Viet Nam','100','150','2020-10-20'),
('Ban HHH','A','Nhat Ban','100','150','2020-10-20'),
('Ban KKK','B','Trung Quoc','100','150','2020-10-20'),
('Ban aPP','C','Viet Nam','100','150','2020-10-20'),
('Ban HHJ','A','Nhat Ban','100','150','2020-10-20'),
('Ban OOP<L','C','Viet Nam','100','150','2020-10-20')

create table ban_hang(
id int identity(1,1) primary key,
id_hang_hoa int,
chu_thich text,
Ngay_ban date,
so_luong int
)
insert into ban_hang (id_hang_hoa,chu_thich,Ngay_ban,so_luong)
values
('1','ok good','2020-12-03','1'),
('2','ok good','2020-12-25','3'),
('3','ok good','2020-12-01','2'),
('4','ok good','2020-12-18','1'),
('5','ok good','2020-12-20','1'),
('6','ok good','2020-12-16','4'),
('7','ok good','2020-12-27','2'),
('8','ok good','2020-12-03','1'),
('9','ok good','2020-12-09','7'),
('10','ok good','2020-12-13','1')

ygg
create view liet_ke_hoa_don
as
select Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban,ban_hang.chu_thich,ban_hang.so_luong,ban_hang.Ngay_ban
from ban_hang,Hang_hoa
where Hang_hoa.id = ban_hang.id_hang_hoa

select * from liet_ke_hoa_don

create proc KT_xuat_su
@_xuatsu nvarchar(100)
as
select Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban,ban_hang.chu_thich,ban_hang.so_luong,ban_hang.Ngay_ban
from ban_hang,Hang_hoa
where Hang_hoa.id = ban_hang.id_hang_hoa and Hang_hoa.Xuat_xu = @_xuatsu

exec KT_xuat_su 'Viet Nam'

alter proc ktspppaaa
@mathang int,
@total money output
as
begin
select Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban * sum(ban_hang.so_luong) as tong_gia
from ban_hang,Hang_hoa
where Hang_hoa.id = ban_hang.id_hang_hoa and @mathang = Hang_hoa.id 
group by  Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban
select @total = tong_gia from
(select Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban * sum(ban_hang.so_luong) as tong_gia
from ban_hang,Hang_hoa
where Hang_hoa.id = ban_hang.id_hang_hoa and @mathang = Hang_hoa.id
group by  Hang_hoa.Ten_mat_hang,Hang_hoa.Nha_sx,Hang_hoa.Xuat_xu,Hang_hoa.Gia_ban)as abc
end

declare @total money
exec ktspppaaa 6 ,@total = @total output
print @total


Đã sao chép!!!