Header Ads

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 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 
                                                                                         )
                                                                        )
                                                   )

No comments