Это может показаться глупым вопросом. Я хочу создать SQL db с записями, содержащими числа. Я хотел бы запустить запрос, чтобы выбрать группу записей, затем взять значения в этой группе, выполнить некоторую базовую арифметику по номерам, а затем сохранить результаты в другой таблице, но все же связать их с внешним ключом оригиналом запись. Возможно ли это сделать в SQL, не беря данные в другое приложение, а затем импортируя их обратно? Если да, то какова основная функция/процедура для завершения этого действия?
Я исхожу из фона excel/macro/basic python и хочу выяснить, стоит ли переключиться на SQL.
PS. Я хочу оставаться открытым исходным кодом.
Крошечный пример использования postgresql (9.6)
-- Create tables
CREATE TABLE initialValues(
id serial PRIMARY KEY,
value int
);
CREATE TABLE addOne(
id serial,
id_init_val int REFERENCES initialValues(id),
value int
);
-- Init values
INSERT INTO initialValues(value)
SELECT a.n
FROM generate_series(1, 100) as a(n);
-- Insert values in the second table by selecting the ones from the
-- First one .
WITH init_val as (SELECT i.id,i.value FROM initialValues i)
INSERT INTO addOne(id_init_val,value)
(SELECT id,value+1 FROM init_val);
В MySQL вы можете использовать CREATE TABLE... SELECT (https://dev.mysql.com/doc/refman/8.0/en/create-table-select.html)
INSERT INTO ... SELECT ...
может сделать это. Но без подробностей это не точно.