Я хочу вставить значения из одной из моих таблиц в другую.Как обрабатывать данные из одной таблицы и передавать ее в другую таблицу в MySQL?
У меня есть следующая таблица:
Act (
id INT NOT NULL AUTO_INCREMENT,
type VARCHAR(20),
Act_date DATETIME,
place VARCHAR(20)
);
где тип имеет 2 возможных значения: "рождение" и "смерть". Все столбцы уже заполнены. Теперь я пытаюсь сделать процедуру или функцию, которая рассчитала бы разницу между Актами типа «рождение» и действиями типа «смерть» в течение заданного времени и поместила результаты в другую таблицу, например:
Population_Growth(
id INT NOT NULL AUTO_INCREMENT,
time DATE,
place VARCHAR(20),
result INT
);
, где результат будет разница между актами типа «рождения» и актов «смерти» типа
Я был бы признателен за любую помощь.
Вы можете сделать INSERT INTO ... SELECT FROM в одном запросе. – Devon
У вас уже есть инструкция SELECT? Кроме того, просто думая, но я не получаю поле ID в Act. Как вы определяете, какие две строки идут вместе? Должен ли идентификатор быть одинаковым для рождения и смерти, а не для автоматического приращения? Возможно, имеет смысл иметь дату рождения и дату смерти вместо одного поля даты и двух строк. – Devon
Я думал о чем-то вроде: INSERT INTO Population_Growth (id, time, place, result) VALUES ((SELECT Act_date FROM Act), (SELECT time FROM Act), (SELECT place FROM Act), ((SELECT COUNT (id) FROM Act WHERE type = "birth") - (SELECT COUNT (id) FROM Act WHERE type = "death") –