Tarea-04-base de datos
Enviado por esmowe • 28 de Febrero de 2023 • Tarea • 991 Palabras (4 Páginas) • 55 Visitas
-- 1
SELECT nombre_med, stock, precio_unit, (stock * precio_unit) as total
FROM m_medicamentos
WHERE stock > 100 AND conreceta = 'S';
-- 2
SELECT nombre_med as "Nombre del medicamento"
FROM m_medicamentos m, m_familias f, m_presentaciones p
WHERE m.id_pres = p.id_pres AND m.id_fam = f.id_fam
AND upper(p.nombre_pres) = 'COMPRIMIDOS' and upper(f.nombre_fam) = 'ANTIBIÓTICOS';
-- 3
SELECT med.poblacion, med.centro_salud, m.nombre_med, lab.nombre_lab, vm.fecha_venta, vm.unidades, m.precio_unit, (vm.unidades * m.precio_unit) as total
FROM m_medicamentos m, m_medicos med, m_laboratorios lab, m_ventas_med vm, m_ventas_recetas vr
WHERE m.id_med = vm.id_med and m.id_lab = lab.id_lab and med.dnim = vr.dnim and vr.id_venta = vm.id_venta
and vm.fecha_venta BETWEEN '01/10/2016' AND '31/12/2016' AND upper(m.nombre_med) LIKE '%MEDICAMENTO ANTIBIÓTICO%'
order by med.poblacion, med.centro_salud, m.nombre_med, vm.fecha_venta;
-- 4
select centro_salud, count(*)
FROM m_pacientes
group by centro_salud
having count(*) > 2
order by centro_salud;
-- 5
SELECT nombre_med as "Nombre Medicamento", stock
FROM m_medicamentos m, m_laboratorios l, m_presentaciones p
WHERE m.id_pres = p.id_pres AND l.id_lab = m.id_lab
AND upper(p.nombre_pres) = 'JARABE' AND upper(l.nombre_lab) LIKE '%REGIONAL%'
-- 6
SELECT DISTINCT nombre_med as "Nombre Medicamento", l.nombre_lab, stock
FROM m_medicamentos m, m_laboratorios l, m_presentaciones p, m_ventas_med vm
WHERE m.id_pres = p.id_pres AND l.id_lab = m.id_lab AND m.id_med = vm.id_med
AND upper(p.nombre_pres) = 'JARABE' AND upper(l.nombre_lab) LIKE '%REGIONAL%'
-- 7.1
SELECT apellidos, nombre, m.nombre_med as Medicamento
FROM m_medicos med, m_medicamentos m, m_ventas_med vm, m_ventas_recetas vr
WHERE med.dnim = vr.dnim and vr.id_venta = vm.id_venta and vm.id_med = m.id_med
and upper(med.poblacion) = 'CIUDAD REAL' and upper(med.centro_salud) = 'CENTRO SALUD 1'
-- 7.2
SELECT
apellidos,
nombre,
m.nombre_med AS medicamento
FROM
m_medicos med
INNER JOIN m_ventas_recetas vr ON med.dnim = vr.dnim
INNER JOIN m_ventas_med vm ON vr.id_venta = vm.id_venta
INNER JOIN m_medicamentos m ON vm.id_med = m.id_med
WHERE
upper(med.poblacion) = 'CIUDAD REAL'
AND upper(med.centro_salud) = 'CENTRO SALUD 1'
-- 8.1
SELECT nombre_med as MEDICAMENTO, max(m.stock) as STOCK , sum(vm.unidades) as "UNIDADES VENDIDAS"
FROM m_medicamentos m, m_ventas_med vm, m_familias f
WHERE m.id_med = vm.id_med and m.id_fam = f.id_fam
and upper(f.nombre_fam) = 'ANTIINFLAMATORIOS'
group by nombre_med
order by nombre_med;
-- 8.2
SELECT nombre_med as MEDICAMENTO, max(m.stock) as STOCK , sum(vm.unidades) as "UNIDADES VENDIDAS"
FROM m_medicamentos m INNER JOIN m_ventas_med vm ON m.id_med = vm.id_med INNER JOIN m_familias f ON m.id_fam = f.id_fam
WHERE upper(f.nombre_fam) = 'ANTIINFLAMATORIOS'
group by nombre_med
order by nombre_med;
-- 9
SELECT nombre_fam, sum(m.stock) as "TOTAL UNIDADES MEDICAMENTOS"
FROM m_familias f, m_medicamentos m
WHERE f.id_fam = m.id_fam
GROUP by nombre_fam
ORDER BY nombre_fam;
-- 10
SELECT nombre_fam, sum(nvl(m.stock, 0)) as "TOTAL UNIDADES MEDICAMENTOS"
FROM m_familias f left join m_medicamentos m ON f.id_fam = m.id_fam
GROUP by nombre_fam
ORDER BY nombre_fam;
-- 11
SELECT f.nombre_fam, p.nombre_pres, sum(m.stock)
...