How do I create a function that returns the lowest expiration date between batches of a given product?
Dry my SQL code:
create database Exemplo;
use Exemplo;
create table produto
(codProduto integer not null,
nomeProduto varchar(50) not null,
marca varchar(50) not null,
precoCusto decimal(15,2) not null,
precoVenda decimal(15,2) not null,
primary key (codProduto));
create table loteproduto
(codProduto integer not null,
codLote integer not null,
nuLote char(10) not null,
dtValidade date,
primary key (codProduto, codLote),
foreign key (codProduto) references produto(codProduto));
insert into produto (codProduto, nomeProduto, Marca, precoCusto, precoVenda)
values (1, 'Inseticida 500 ML', 'SBP',4,7),
(2, 'Pastilha refil', 'SBP', 2,4),
(3, 'Refrigerante guaraná', 'Pureza', 3,5),
(4, 'Refrigerante laranja', 'Pureza', 3,5),
(5, 'Amaciante amarelo', 'Downy', 6,9),
(6, 'Amaciante rosa', 'Downy', 4,5),
(7, 'Frango', 'Sadia', 5,10),
(8, 'Peru', 'Sadia', 5,10);
insert into loteproduto (codProduto, codLote, nuLote, dtValidade)
values (1, 1, '399A',null),
(1, 2, '323A','2012-12-31'),
(2, 1, 'EF2A','2012-12-30'),
(7, 1, 'EF3A',null);