Arhn - архитектура программирования

Просмотр для суммирования по продуктам

У меня есть три таблицы для фиктивной/фальшивой базы данных, которую я создаю для изучения SQL.

Purchases
PK    Purchase_ID
FK    Creditcard_ID
      Order_Date

Products
PK    Product_ID
      Product
      Description
      Cost

Purchases_Products
PK    Purchases_Products_ID
FK    Purchase_ID
FK    Product_ID
      Quantity
      Review

Я хочу добавить столбец View в разделе Purchases, Total_Cost, который вычисляет это значение:

Summation[Product_ID]_(Purchases_Products.Quantity * Products.Cost)

Что суммирует все продукты, принадлежащие одному Purchase_ID. Это потребует присоединения. Как я могу это сделать?

(редактировать: во время изучения того, как использовать объединение в ограничении для соединительной таблицы для предотвращения нулевых значений в родительских таблицах, было отличным чтением, и я, возможно, захочу реализовать, я все еще не понимаю свой вопрос лучше, к сожалению.)


  • Это похоже на столбец, который должен быть определен в VIEW, а не в вычисляемом столбце. Вычисляемые столбцы, которым требуются данные из других строк или таблиц, должны использовать определяемые пользователем скалярные функции, что может привести к тому, что ваши запросы будут выполняться значительно медленнее, чем если бы вы использовали простую агрегатную функцию в SELECT. 21.02.2021
  • @Charlieface Для меня это немного сложно, поэтому, к сожалению, я не вижу ссылки, кроме как реализовать соединение. Я рассмотрю, как определить столбец через представление. 21.02.2021
  • Извините, неправильная ссылка title="как я могу сохранить таблицы tblpurchase и tblproductstock без удаления, мне нужно сохранить"> stackoverflow.com/questions/65778999/ 21.02.2021
  • @Charlieface Оба поста также для меня продвинуты, но предлагают несколько хороших советов. Может быть, этот вопрос был слишком большим для меня, чтобы задать его на моем уровне, и мне нужно постепенно до него доходить. 21.02.2021
  • Есть и другой способ: определяемая пользователем функция в вычисляемом столбце. Я настоятельно рекомендую против этого из соображений производительности. @Larnu ты видел мой связанный ответ 21.02.2021

Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..