【发布时间】:2016-08-13 13:22:27
【问题描述】:
我对围绕嵌套的“select max(date)”样式语句的逻辑/语法感到困难。让我试着解释一下。我的语句从三个表中提取数据:
表 #1 (table1_companies) [id、公司名称、行业]
表 #2:(table2_companydata) [id, companyname, data, date_added]
表 #3:(table3_watchlist) [id、公司名、用户名]
我尝试执行的语句从表 3 中获取公司名称,INNER JOINS 表 1 中的“行业”,然后 INNER JOINS 表 2 中的最新公司信息(基于最后日期)。它是表 2 每个公司可以有很多行,我只需要基于添加的最新日期的最后一个。我当前的(简化的)声明没有尝试获取最后一个日期是:
SELECT
table1_companies.industry,
table2_companydata.data,
table3_watchlist.*
FROM
table3_watchlist
INNER JOIN table1_companies ON table1_companies.companyname = table3_watchlist.companyname INNER JOIN table2_companydata ON table2_companydata.companyname = table3_watchlist.companyname WHERE username='username'");
我想我需要在第二个 INNER JOIN 中插入一个“SELECT max(date_added) FROM table2_companydata”。但是我在逻辑或语法上都没有成功。有没有大神能赐教?
【问题讨论】:
标签: mysql