То, что вы хотите сделать, кажется невозможным с вашей текущей схемой. Это связано с тем, что ваша таблица была преобразована в гибридную таблицу объектов / таблицу транзакций. Для получения выходных данных ваша таблица, несомненно, имеет шесть строк. Первые три вставки добавили три объекта («D-Cold», «Otrivin» и «ZanduBalm»), но последние три вставки обновили эти объекты с новым описанием (и, таким образом, навсегда изменили старые записи).
Вам нужно разделить стол на две части. Итак, это:
create table historycurrent (
ProdName VARCHAR(20),
ProdId INT,
MfgDate VARCHAR(20),
ProdDescription VARCHAR(50)
);
Необходимо стать (что-то вроде):
create table product (
prodId INT PRIMARY KEY,
prodName VARCHAR(?),
mfgDate DATE
);
create table history (
historyId INT,
prodId INT, -- foreign key
changeDate DATE,
prodDescription VARCHAR(?)
);
Затем вы можете запросить историю и сделать простое объединение для информации о продукте