You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.5 KiB
66 lines
1.5 KiB
USE DIMS;
|
|
|
|
-- AdminMapper
|
|
SELECT *
|
|
FROM Drug d LEFT OUTER JOIN InventoryDrug i ON d.PDno = i.PDno;
|
|
|
|
SELECT d.PDno, COALESCE(SUM(i.PDnum), 0)
|
|
FROM Drug d LEFT OUTER JOIN InventoryDrug i ON d.PDno = i.PDno
|
|
GROUP BY d.PDno;
|
|
|
|
SELECT PDno, PDbatch, PDnum, Sno, SAno, Stime FROM InventoryDrug
|
|
UNION
|
|
SELECT PDno, PDbatch, PDnum, Sno, SAno, Stime FROM DestroyedDrug;
|
|
|
|
-- 统计量少的库存药品种数 countLowInventoryDrugs
|
|
SELECT COUNT(*)
|
|
FROM (SELECT d.PDno
|
|
FROM Drug d LEFT OUTER JOIN InventoryDrug i ON d.PDno = i.PDno
|
|
GROUP BY d.PDno
|
|
HAVING COALESCE(SUM(i.PDnum), 0) <= 50) Temp;
|
|
|
|
SELECT COUNT(*)
|
|
FROM DrugView
|
|
WHERE PDnum <= 50;
|
|
|
|
-- 统计临期库存药品批数 countClose2ExpiryPDbatches
|
|
SELECT COUNT(*)
|
|
FROM Drug d, InventoryDrug i
|
|
WHERE d.PDno = i.PDno AND DATEDIFF(DAY, i.PDbatch, GETDATE()) >= (d.PDlife / 10 * 9);
|
|
|
|
-- 统计药品种数 countDrugs
|
|
SELECT COUNT(*)
|
|
FROM Drug;
|
|
|
|
-- 统计库存药品种数 countInventoryDrugs
|
|
SELECT COUNT(*)
|
|
FROM (SELECT PDno
|
|
FROM InventoryDrug
|
|
GROUP BY PDno) Temp;
|
|
|
|
-- 统计销毁药品批数 countDestroyedPDbatches
|
|
SELECT COUNT(*)
|
|
FROM DestroyedDrug;
|
|
|
|
-- 统计库存药品批数 countPDbatches
|
|
SELECT COUNT(*)
|
|
FROM InventoryDrug;
|
|
|
|
-- DoctorMapper
|
|
|
|
-- NurseMapper
|
|
|
|
SELECT d.PDno, d.PDname, d.PDlife, SUM(i.PDnum) AS PDnum
|
|
FROM Drug d, InventoryDrug i
|
|
WHERE d.PDno = i.PDno
|
|
GROUP BY d.PDno, d.PDname, d.PDlife;
|
|
|
|
SELECT p.Pno, p.Pid, p.Dno, p.Ptime, p.Nno, p.Htime, p.Pstate
|
|
FROM Prescription p
|
|
WHERE p.Pstate = 0;
|
|
|
|
SELECT p.Pno, p.Pid, p.Dno, p.Ptime, p.Nno, p.Htime, p.Pstate
|
|
FROM Prescription p
|
|
WHERE p.Pstate = 1;
|
|
|