USE MASTER
GO
DROP DATABASE CH_HT_QUAN_LY_SAN_PHAM
GO
CREATE DATABASE CH_HT_QUAN_LY_SAN_PHAM
GO
USE CH_HT_QUAN_LY_SAN_PHAM
GO
CREATE TABLE LOAISP
(
MA_LOAI NVARCHAR(10) PRIMARY KEY,
MO_TA NTEXT,
HAN_LUU_KHO INT
)
GO
CREATE TABLE SANPHAM
(
MA_SAN_PHAM NVARCHAR(10) PRIMARY KEY,
TEN_SAN_PHAM NTEXT,
MA_LOAI NVARCHAR(10)
)
GO
ALTER TABLE SANPHAM
ADD CONSTRAINT FK_LOAISANPHAM_SANPHAM FOREIGN
KEY (MA_LOAI) REFERENCES LOAISP(MA_LOAI)
GO
CREATE TABLE PHIEUNHAPXUAT
(
MA_SO_PHIEU NVARCHAR(10) PRIMARY KEY,
NGAY_NHAP_XUAT DATETIME,
LOAI_PHIEU NVARCHAR(10)
)
GO
CREATE TABLE CHITIETPHIEU
(
MA_SO_PHIEU NVARCHAR(10) ,
MA_SAN_PHAM NVARCHAR(10) ,
SOLUONG INT,
CONSTRAINT FP_CHITIETPHIEU PRIMARY
KEY (MA_SO_PHIEU,MA_SAN_PHAM)
)
GO
ALTER TABLE CHITIETPHIEU
ADD CONSTRAINT FK_KHOAHOC_SUDUNGTHIETBI FOREIGN
KEY (MA_SO_PHIEU) REFERENCES PHIEUNHAPXUAT(MA_SO_PHIEU)
GO
ALTER TABLE CHITIETPHIEU
ADD CONSTRAINT FK_THIETBI_SUDUNGTHIETBI FOREIGN
KEY (MA_SAN_PHAM) REFERENCES SANPHAM(MA_SAN_PHAM)
GO
INSERT INTO LOAISP VALUES('LO01',N'Dầu gội đầu',20);
INSERT INTO LOAISP VALUES('LO02',N'Gạo',10);
INSERT INTO LOAISP VALUES('LO03',N'Bột giặt',30);
INSERT INTO LOAISP VALUES('LO04',N'Đường',40);
GO
INSERT INTO SANPHAM VALUES('TM1',N'SUN SILK','LO01');
INSERT INTO SANPHAM VALUES('TM2',N'NO HAIR','LO01');
INSERT INTO SANPHAM VALUES('TM3',N'Gạo loại 1','LO02');
INSERT INTO SANPHAM VALUES('TM4',N'Gạo nàng hương','LO02');
INSERT INTO SANPHAM VALUES('TM5',N'Omo','LO03');
INSERT INTO SANPHAM VALUES('TM6',N'Tile','LO03');
INSERT INTO SANPHAM VALUES('TM7',N'Cát vàng','LO04');
INSERT INTO SANPHAM VALUES('TM8',N'Cát trắng','LO04');
INSERT INTO SANPHAM VALUES('TM9',N'Bột giặt','LO03');
GO
INSERT INTO PHIEUNHAPXUAT VALUES('PH01',1/1/2016,0);
INSERT INTO PHIEUNHAPXUAT VALUES('PH02',1/20/2016,1);
INSERT INTO PHIEUNHAPXUAT VALUES('PH03',1/3/2016,0);
INSERT INTO PHIEUNHAPXUAT VALUES('PH04',5/12/2016,1);
INSERT INTO PHIEUNHAPXUAT VALUES('PH05',9/21/2016,0);
INSERT INTO PHIEUNHAPXUAT VALUES('PH06',1/3/2016,1);
INSERT INTO PHIEUNHAPXUAT VALUES('PH07',1/6/2016,0);
INSERT INTO PHIEUNHAPXUAT VALUES('PH08',1/9/2016,1);
GO
INSERT INTO CHITIETPHIEU VALUES('PH01','TM1',10);
INSERT INTO CHITIETPHIEU VALUES('PH01','TM2',86);
INSERT INTO CHITIETPHIEU VALUES('PH02','TM2',8);
INSERT INTO CHITIETPHIEU VALUES('PH03','TM3',20);
INSERT INTO CHITIETPHIEU VALUES('PH04','TM4',300);
INSERT INTO CHITIETPHIEU VALUES('PH05','TM5',521);
INSERT INTO CHITIETPHIEU VALUES('PH06','TM6',30);
INSERT INTO CHITIETPHIEU VALUES('PH07','TM7',65);
INSERT INTO CHITIETPHIEU VALUES('PH08','TM8',69);
INSERT INTO CHITIETPHIEU VALUES('PH08','TM1',69);
INSERT INTO CHITIETPHIEU VALUES('PH08','TM9',49);
INSERT INTO CHITIETPHIEU VALUES('PH01','TM9',9);
GO
--1/ Đại số quan hệ
--A/Liệt kê các mã số phiếu trong các
phiếu này có 2 mã sp là TM1 và TM2
SELECT MA_SO_PHIEU FROM CHITIETPHIEU
WHERE MA_SAN_PHAM IN ('TM1','TM2')
GROUP BY MA_SO_PHIEU
HAVING COUNT(MA_SAN_PHAM)>=2
--CACH 2
SELECT MA_SO_PHIEU FROM CHITIETPHIEU
WHERE MA_SAN_PHAM ='TM1'
AND MA_SO_PHIEU IN (SELECT MA_SO_PHIEU FROM CHITIETPHIEU
WHERE MA_SAN_PHAM ='TM2')
--B/Liệt kê các mã số phiếu có sản phẩm
tên là bột giặt
SELECT MA_SO_PHIEU
FROM CHITIETPHIEU TC INNER JOIN SANPHAM SP ON TC.MA_SAN_PHAM=SP.MA_SAN_PHAM
WHERE TEN_SAN_PHAM LIKE N'Bột giặt'
---2 A/Mã sản phẩm, tên sản phẩm có khả
năng giữ trong kho hơn 3 tuần
SELECT MA_SAN_PHAM,TEN_SAN_PHAM
FROM SANPHAM SP INNER JOIN LOAISP LSP ON SP.MA_LOAI=LSP.MA_LOAI
WHERE HAN_LUU_KHO>21
---B Liệt kê Mã số phiếu, Ngày nhập xuất
phiếu này nhập nhiều hơn 2 loại sp
SELECT P.MA_SO_PHIEU,P.NGAY_NHAP_XUAT
FROM CHITIETPHIEU CT INNER JOIN PHIEUNHAPXUAT P ON CT.MA_SO_PHIEU=P.MA_SO_PHIEU
INNER JOIN SANPHAM SP ON SP.MA_SAN_PHAM =CT.MA_SAN_PHAM
WHERE P.LOAI_PHIEU=1
GROUP BY P.MA_SO_PHIEU,P.NGAY_NHAP_XUAT
HAVING COUNT(MA_LOAI)>=2
No comments:
Post a Comment