Related tables. SimpleSqlite extension. Pharmacy example

- New version, add quantity of boxes.

  • In this version we can add the number of medicine boxes assigned to each patient, for example to Miguel: 2 boxes of Aspirina, 3 boxes of Ansiolitic and 1 box of Dolorin.

p55H_Sqlite_Farmacia_v2.aia (35.3 KB)

-- Create table intermediate pacientes_vademecum for relation many to many
CREATE TABLE IF NOT EXISTS  pacientes_vademecum (
  pacientes_id INTEGER,
  vademecum_id INTEGER,
  cantidad INTEGER,
  FOREIGN KEY (pacientes_id) REFERENCES pacientes(id),
  FOREIGN KEY (vademecum_id) REFERENCES vademecum(id),
  UNIQUE (pacientes_id, vademecum_id)
);

-- Insert relation pacientes - vademecum
INSERT INTO pacientes_vademecum (pacientes_id, vademecum_id, cantidad)
VALUES (
  (SELECT id FROM pacientes WHERE nombre = 'Juan'),
  (SELECT id FROM vademecum WHERE medicina = 'Aspirina'),
  3
);


-- Select medicina for Juan
SELECT v.medicina, pv.cantidad
FROM pacientes p
JOIN pacientes_vademecum pv ON p.id = pv.pacientes_id
JOIN vademecum v ON pv.vademecum_id = v.id
WHERE p.nombre = 'Juan';
4 Likes