Это основано на курсе Академии Хана .У меня есть 2 таблицы SQLite:
CREATE TABLE table1 (id STRING PRIMARY KEY, charge_id TEXT, amount INTEGER, currency INTEGER, country STRING);
INSERT INTO table1
( id, charge_id, amount, currency, country) VALUES
('0xb01', '0x1', 2000, 'USD', 'USA'),
('0x0a1', '0x1', 500, 'USD', 'USA'),
('0x0c1', '0x1', 1000, 'CAD', 'USA'),
('0xs31', '0x4', 1000, 'YEN', 'CA');
CREATE TABLE table2 (id STRING PRIMARY KEY, charge_id TEXT, value VARIABLE);
INSERT INTO table2
( id, charge_id, value ) VALUES
('0x34s', '0x1', '123 main street'),
('0x3ze', '0x1', 'merchant-id-001'),
('0x3w2', '0x2', 'zip-code-90210' ),
('0x35k', '0x2', 'merchant-id-002');
. Я бы ВЫБИЛ сумму, валюту и страну из таблицы 1 (Сборы) и присоединился к таблице 2 (Метаданные) на основе идентификатора.Charges использует ID, а метаданные хранят метатеги с уникальным идентификатором [id], равным заряду [id] из Charges.Я хочу сгруппировать общую сумму, общую валюту для каждого merchant_id и только те платежи, которые были сделаны в США.
Пошаговый псевдокод:
(1) найти все платежив США (сборы country
)
(2) сопоставляют все charge_ids из сборов (id
) с расходами в метаданных (id
)
(3), отделяют каждый сбор с помощью merchant_id (метаданные * 1015)*)
(4) отображать общую сумму, валюту по merchant_id (amount
, расходы currency
, value
)
Это сложно, потому что:
(1) Я хочу выбрать из Charges и
(2) присоединиться к метаданным с помощью [id]
(3), но каждая запись метаданных имеет только charge_id и тег метаданных, который будет соответствовать merchant_id и заряду
Результат запроса, который мне нужен:
value (merchant id) currency total amount
merchant-id-001 usd 2500
merchant-id-001 cad 1000
merchant-id-002 yen 200
merchant-id-002 cad 50
В настоящее время у меня есть этот запрос, но он не работает:
select table1.amount, table1.currency, table1.country, count(*)
from table1
LEFT JOIN table1
UNION ALL
SELECT table2.value
FROM CHARGES_table2
LEFT JOIN table2
ON table1.id = table2.id
WHERE table1.country = 'USA'
GROUP BY table2.value
Я получаю ошибкиПараметры объединения: 2,1