Как правильно написать SQL-запрос на выборку из таблицы

Есть две таблицы:

  1. Customers
_____________________________________
| C_id | Name |   Address    | City |
_____________________________________
|  1   | John | Borovay st   | Spb  |
_____________________________________
|  2   | Paul | Tverskaya st | Msk  |
_____________________________________
|  3   | Ivan | Bauman st    | Kzn  |
_____________________________________
  1. Orders
________________________________
| O_id | O_no  | C_id  | Total |
________________________________
|  1   | 10298 |   2   |  157  |
________________________________
|  2   | 23791 |   2   |  268  |
________________________________
|  3   | 12375 |   1   |  984  |
________________________________
|  4   | 36571 |   1   |  235  |
________________________________
|  5   | 28972 |   13  |  427  |
________________________________

Нужно выбрать общую сумму (Total) всех заказов для пользователей из таблицы Customers с помощью SQL запроса. Как это сделать если внешний ключ 13 из таблицы Orders отсутствует в таблице Customers. И я не понимаю как этот ключ в принципе положить в Orders если при попытке INSERT возникает ошибка:

INSERT INTO orders
VALUES
(1, 10298, 2, 157),
(2, 23791, 2, 268),
(3, 12375, 1, 984),
(4, 36571, 1, 235),
(5, 28972, 13, 427);

ERROR: ОШИБКА: INSERT или UPDATE в таблице "orders" нарушает ограничение внешнего ключа "orders_u_id_fkey" DETAIL: Ключ (c_id)=(13) отсутствует в таблице "customers".


Ответы (1 шт):

Автор решения: Марина Николаева

Сначала надо внести новую запись в таблицу Customers с C_id=13. Потом уже можно делать INSERT в orders.

→ Ссылка