Mysql 如何从两个不同的表修复这个简单的SQL计算?

Mysql 如何从两个不同的表修复这个简单的SQL计算?,mysql,sql,Mysql,Sql,这是一个非常简单的等式,因为我刚刚开始学习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 inst

这是一个非常简单的等式,因为我刚刚开始学习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);
我如何计算2016年8月3日的队列大小和ltv d365/安装数

这是我目前的方程式:

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_错误:您的SQL语法有一个错误;错误我还意识到,如果没有时间,计算结果是不正确的。有人能告诉我我的代码哪里错了,我怎样才能修复它吗?非常感谢你

  • 在条件不稳定时使用
  • 连接两个表时,请使用表名写入列名
  • tableName.ColumnName

    例如: 安装日期

    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'
    

    哦,现在说得通了,我知道我在细节上遗漏了一些东西。非常感谢你!!