Tạo view tổng hợp thông tin về các khách hàng người Thái Nguyên chưa từng mua các mặt hàng mà khách hàng Hà Nội đã mua.
Tạo view
tổng hợp thông tin về các khách hàng người Thái Nguyên chưa từng mua các mặt
hàng mà khách hàng Hà Nội đã mua.
/* Tạo bảng */
CREATE TABLE DMKhach
(
MaKhach char(4) PRIMARY KEY,
TenKhach nvarchar(100) NOT NULL,
DiaChi nvarchar(100) NOT NULL,
DienThoai nvarchar(20) DEFAULT 'Chưa có'
)
CREATE TABLE DMHang
(
MaHang char(4) PRIMARY KEY,
TenHang nvarchar(100) NOT NULL,
DVT nvarchar(10) DEFAULT ''
)
CREATE TABLE HoaDonBan
(
SoHD char(4) PRIMARY KEY,
MaKhach char(4) NOT NULL,
NgayHD DATE DEFAULT GETDATE(),
DienGiai nvarchar(100) NULL
)
CREATE TABLE ChiTietHoaDon
(
SoHD char(4) NOT NULL,
MaHang char(4) NOT NULL,
SoLuong int NOT NULL,
DonGia MONEY NOT NULL
CONSTRAINT KC_ChiTietHoaDon PRIMARY KEY (SoHD,MaHang)
)
/* Tạo liên kết bảng */
ALTER TABLE HoaDonBan
ADD CONSTRAINT KN_HoaDonBan FOREIGN KEY (MaKhach) REFERENCES DMKhach(MaKhach)
ALTER TABLE ChiTietHoaDon
ADD CONSTRAINT KN_ChiTietHoaDon_1 FOREIGN KEY (SoHD) REFERENCES HoaDonBan(SoHD),
CONSTRAINT KN_ChiTietHoaDon_2 FOREIGN KEY (MaHang) REFERENCES DMHang(MaHang)
/* Chèn dữ liệu vào các bảng */
INSERT INTO DMKhach
VALUES
('K01','Chu Xuân Linh','Hà Nội','098548xxx'),
('K02','Ngô Doãn Tình','Hà Nội','0974768xxx'),
('K03','Phạm Xuân Tú','Thái Nguyên','0166218xxx'),
('K04','Trần Văn Cương','Thái Nguyên','0164964xxx'),
('K05','Dương Xuân Tùng','Thái Nguyên','0919150xxx')
INSERT INTO DMHang
VALUES
('B01','Bút Bi','Chiếc'),
('B02','Bút Chì','Chiếc'),
('B03','Bút Mực','Chiếc')
INSERT INTO HoaDonBan
VALUES
('HD01','K01',convert(varchar, '07-03-2009', 101),''),
('HD02','K02',convert(varchar, '07-17-2009', 101),''),
('HD03','K05',convert(varchar, '08-08-2009', 101),''),
('HD04','K03',convert(varchar, '08-28-2009', 101),''),
('HD05','K01',convert(varchar, '09-17-2009', 101),''),
('HD06','K04',convert(varchar, '10-20-2009', 101),'')
INSERT INTO ChiTietHoaDon
VALUES
('HD01','B01',10,'5000'),
('HD02','B02',5,'7000'),
('HD03','B02',6,'7000'),
('HD04','B03',7,'1000'),
('HD05','B01',8,'5000'),
('HD06','B02',9,'7000')
CREATE VIEW HaNoi_MH
AS
SELECT MaHang
FROM ChiTietHoaDon
WHERE SoHD IN ( SELECT SoHD
FROM HoaDonBan
WHERE MaKhach IN ( SELECT MaKhach
FROM DMKhach
WHERE QueQuan = N'Hà Nội'
)
)
CREATE VIEW ThongTinKhachHang
AS
SELECT *
FROM DMKhach
WHERE QueQuan = N'Thái Nguyên' AND MaKhach NOT IN ( SELECT MaKhach
FROM HoaDonBan
WHERE SoHD IN ( SELECT SoHD
FROM ChiTietHoaDon
WHERE MaHang IN ( SELECT MaHang
FROM HaNoi_MH
)
)
)
Post a Comment