Используя запрос SQLite, я пытаюсь выполнить арифметику со столбцами из разных таблиц, где я умножаю цены на продукты в различных группах на процент, соответствующий каждой группе в отдельной таблице:
< Products Table >
Column Z Column X Column Y
Product 1 Price 1 Delivery A
Product 2 Price 2 Delivery B
Product 3 Price 3 Delivery A
Product 4 Price 4 Delivery A
Product 5 Price 5 Delivery B
Product 6 Price 6 Delivery C
< Delivery Table >
Column O Column P
Delivery A Warehouse A
Delivery B Warehouse A
Delivery C Warehouse B
< Warehouse Percentage Table >
Column M Column N
Warehouse A Percentage A
Warehouse B Percentage B
< Results Table / View >
Column E Column F
Product 1 Total 1 (Price 1 * Percentage A)
Product 2 Total 2 (Price 2 * Percentage B
Product 3 Total 3 (Price 3 * Percentage A)
Product 4 Total 4 (Price 4 * Percentage A)
Product 5 Total 5 (Price 5 * Percentage B)
Product 6 Total 6 (Price 6 * Percentage B)
Мне удалось выяснить, как выполнить арифметику для столбцов из той же таблицы, которая создает новое представление:
SELECT id,
SUM(column_a*column_b)
FROM table_1
GROUP BY id
Мне также удалось объединить три таблицы:
SELECT *
FROM table_1
INNER JOIN
table_2 ON table_1.column_1 = table_2.column_1
INNER JOIN
table_3 ON table_2.column_2 = table_3.column_2;
НоЯ не могу понять, как выполнить арифметику для двух столбцов из двух разных таблиц, соединенных третьей таблицей, такой как:
SUM(table_1.column_1*table_3.column_2)
Когда я добавляю эту строку кода в запрос, который присоединяетсявсе три таблицы, которые я получаю:
The SELECT statement could not be parsed. Please correct the query and retry.
Details: Syntax error
Нет также никакого способа, которым я могу напрямую INNER JOIN
table_1
к table_3
, так как у них нет соответствующих значений, поэтому я должен присоединитьсячерез table_2
.