Как мне исправить этот простой SQL расчет из 2 разных таблиц? - PullRequest
0 голосов
/ 15 апреля 2020

это невероятно простое уравнение, так как я новичок в изучении SQL. Итак, у меня есть две таблицы:

CREATE TABLE installs (
    date DATE PRIMARY KEY,
    spend INT,
    installs INT
);

INSERT INTO installs VALUES ('2016-08-01', 5000, 1000);
INSERT INTO installs VALUES ('2016-08-02', 1000, 2500);
INSERT INTO installs VALUES ('2016-08-03', 7500, 2000);
INSERT INTO installs VALUES ('2016-08-04', 15000, 4000);

CREATE TABLE Cohort_LTV (
    date DATE PRIMARY KEY,
    cohort_size INT,
    ltv_d365 DECIMAL(3,2)
    );

INSERT INTO Cohort_LTV VALUES ('2016-08-01', 1000, 5.00);
INSERT INTO Cohort_LTV VALUES ('2016-08-02', 2500, 3.00);
INSERT INTO Cohort_LTV VALUES ('2016-08-03', 2000, 2.50);
INSERT INTO Cohort_LTV VALUES ('2016-08-04', 400, 4.00);

Как я смогу вычислить уравнение cohort_size & ltv_d365 / installs.spend 3 августа 2016 года?

Вот мое текущее уравнение:

SELECT (cohort_ltv.cohort_size * cohort_ltv.ltv_d365) / installs.spend
FROM installs
LEFT JOIN cohort_LTV
ON installs.date = cohort_LTV.date
WHEN date = '2016-08-03' 
;

Я получаю ER_PARSE_ERROR: у вас ошибка в синтаксисе SQL; ошибка. Я также понял, что без даты КОГДА вычисление не получится правильно. Может кто-нибудь, пожалуйста, дайте мне знать, где мой код не так и как я могу это исправить? Большое вам спасибо!

1 Ответ

1 голос
/ 15 апреля 2020
  1. Используется, когда условие установлено WHEN.
  2. При объединении двух таблиц имя столбца записи с именем таблицы.

tableName.ColumnName

пример: installs.date

SELECT (cohort_ltv.cohort_size * cohort_ltv.ltv_d365) / installs.spend 
FROM installs LEFT JOIN cohort_LTV ON installs.date = cohort_LTV.date 
WHERE installs.date = '2016-08-03'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...