0% found this document useful (0 votes)
16 views2 pages

Deso 5 Thitxt

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views2 pages

Deso 5 Thitxt

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

-- Create tables

CREATE TABLE bacsi (


mabacsi VARCHAR(10) PRIMARY KEY,
tenbacsi VARCHAR(100),
tenphong VARCHAR(100)
);

CREATE TABLE benhnhan (


mabenhnhan VARCHAR(10) PRIMARY KEY,
tenbenhnhan VARCHAR(100),
diachi VARCHAR(200),
ngaysinh DATE,
gioitinh VARCHAR(10)
);

CREATE TABLE khoa (


tenkhoa VARCHAR(100) PRIMARY KEY,
tenphong VARCHAR(100)
);

CREATE TABLE chitietkham (


mabenhnhan VARCHAR(10),
mabacsi VARCHAR(10),
ngaykham DATE,
ketluan VARCHAR(200),
tienvienphi INT,
PRIMARY KEY (mabenhnhan, mabacsi, ngaykham),
FOREIGN KEY (mabenhnhan) REFERENCES benhnhan(mabenhnhan),
FOREIGN KEY (mabacsi) REFERENCES bacsi(mabacsi)
);

-- Insert data into bacsi


INSERT INTO bacsi (mabacsi, tenbacsi, tenphong) VALUES
('BS01', 'Bac Si 1', 'Phong 1'),
('BS02', 'Bac Si 2', 'Phong 2'),
('BS03', 'Bac Si 3', 'Phong 3'),
('BS04', 'Bac Si 4', 'Phong 4'),
('BS05', 'Bac Si 5', 'Phong 5');

-- Insert data into benhnhan


INSERT INTO benhnhan (mabenhnhan, tenbenhnhan, diachi, ngaysinh, gioitinh) VALUES
('BN01', 'Benh Nhan 1', 'Dia chi 1', '1980-01-01', 'Nam'),
('BN02', 'Benh Nhan 2', 'Dia chi 2', '1985-02-02', 'Nu'),
('BN03', 'Benh Nhan 3', 'Dia chi 3', '1990-03-03', 'Nam'),
('BN04', 'Benh Nhan 4', 'Dia chi 4', '1995-04-04', 'Nu'),
('BN05', 'Benh Nhan 5', 'Dia chi 5', '2000-05-05', 'Nam');

-- Insert data into khoa


INSERT INTO khoa (tenkhoa, tenphong) VALUES
('Khoa 1', 'Phong A'),
('Khoa 2', 'Phong B'),
('Khoa 3', 'Phong C');

-- Insert data into chitietkham


INSERT INTO chitietkham (mabenhnhan, mabacsi, ngaykham, ketluan, tienvienphi)
VALUES
('BN01', 'BS01', '2010-06-01', 'Ket luan 1', 50000),
('BN02', 'BS02', '2011-07-01', 'Ket luan 2', 100000),
('BN03', 'BS03', '2012-08-01', 'Ket luan 3', 150000),
('BN04', 'BS04', '2013-09-01', 'Ket luan 4', 200000),
('BN05', 'BS05', '2014-10-01', 'Ket luan 5', 250000),
('BN01', 'BS02', '2015-11-01', 'Ket luan 6', 300000),
('BN02', 'BS03', '2016-12-01', 'Ket luan 7', 350000);
cau2
SELECT
B.mabacsi,
B.tenbacsi,
SUM(C.tienvienphi) AS tongtien,
MIN(C.tienvienphi) AS tienthaphat,
MAX(C.tienvienphi) AS tiencaonhat,
AVG(C.tienvienphi) AS tientb
FROM
bacsi B
JOIN
chitietkham C ON B.mabacsi = C.mabacsi
GROUP BY
B.mabacsi, B.tenbacsi;
Cau3
UPDATE chitietkham
SET tienvienphi = CASE
WHEN ngaykham < '2012-01-01' THEN tienvienphi * 1.1
WHEN ngaykham BETWEEN '2012-01-01' AND '2013-01-01' THEN tienvienphi * 1.2
ELSE tienvienphi * 1.3
END;
Cau4
CREATE TRIGGER trg_check_tienvienphi
BEFORE INSERT OR UPDATE ON chitietkham
FOR EACH ROW
BEGIN
IF NEW.tienvienphi > 100000 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Tien vien phi lon hon 100000';
END IF;
END;
Cau5
CREATE FUNCTION total_tienvienphi_khoa(tenkhoa VARCHAR(100), year INT)
RETURNS INT
BEGIN
DECLARE total INT;
SELECT
SUM(C.tienvienphi) INTO total
FROM
chitietkham C
JOIN
bacsi B ON C.mabacsi = B.mabacsi
JOIN
khoa K ON B.tenphong = K.tenphong
WHERE
K.tenkhoa = tenkhoa AND YEAR(C.ngaykham) = year;
RETURN total;
END;

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy