Как я могу создать таблицу в то же время, что и другие таблицы, которые получают итоговые данные из каждой таблицы? - PullRequest
3 голосов
/ 16 марта 2019

Для класса я создаю базу данных, которая отслеживает мои финансы.У меня есть таблица для каждого типа товара, который я покупаю.Например, Rent, Food, Hygiene, Entertainment и т. Д. У меня также есть таблица с именем Register, в которой я хочу отобразить итоговую сумму за каждый элемент.Ниже приведены имена столбцов для итогов в таблицах: MonthlyRentTotal, MonthlyFoodTotal и т. Д. Я хочу, чтобы таблица Register извлекала итоговую сумму из каждой таблицы, поэтому мне не нужно вводить их дважды.Любые идеи о том, как я могу это сделать?Я тоже не хочу создавать вид.Я хочу, чтобы это была настоящая таблица.Я даже не уверен, возможно ли это.

Ответы [ 2 ]

1 голос
/ 16 марта 2019

Я предполагаю, что столбцы Аренда, Еда, Гигиена, Развлечения имеют одинаковый тип столбца.

INSERT INTO Register
SELECT *
FROM
  (SELECT SUM(a.rent_value) AS value,
          'monthlyrent' AS TYPE
   FROM Rent a
   UNION SELECT SUM(b.food_value) AS value,
                'monthlyfood' AS TYPE
   FROM Food b) d pivot(max(value)
                        FOR TYPE IN (monthlyrent, monthlyfood)) piv;

Данные были повернуты для вставки в таблицу регистров.

enter image description here

Вы можете поместить этот запрос в хранимую процедуру или просто запустить ее вручную. Если вы хотите обновить данные в таблице «Регистрация», я предлагаю:

  • Создайте хранимую процедуру, используя таблицу TRUNCATE for Register, за которой следует вышеуказанный запрос
  • Создайте задание SQL и запланируйте запуск хранимой процедуры в любое время.

Надеюсь, это поможет. Дайте мне знать, если вам нужны дополнительные детали.

0 голосов
/ 16 марта 2019

Вы должны разделять предметы только на отдельные таблицы, если есть веская причина.Для предметов, которые вы описываете, я не вижу веской причины.

Я бы представил структуру данных, подобную этой:

  • itemCategories - содержит список категорий, которые вам интересны,такие как «еда», «гигиена» и т. д.
  • Purchases - содержит каждую покупку со столбцами, такими как purchaseDate, location, itemCategory, description и т. д.on.

Вам могут потребоваться дополнительные таблицы для других объектов, например, "location".

То, что вы называете таблицей Register, будет просто запросом или представлениемPurchases.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...