【发布时间】:2015-11-19 23:57:47
【问题描述】:
我正在尝试实现一个内连接来比较两个表的值,但是由于某种原因失败并且查询返回零列。
我有两个表 security 和 security_his,并试图在列 SECURITY_ID 和 INVESTMENT_OBJECTIVE 上加入它们。查询如下
SELECT *
FROM SECURITY origin
INNER JOIN (
SELECT *
FROM SECURITY_HIS t2
WHERE DATED = (
SELECT MAX(DATED)
FROM SECURITY_HIS t1
WHERE t1.SECURITY_ID = t2.SECURITY_ID
)
) history ON origin.SECURITY_ID = history.SECURITY_ID
AND origin.INVESTMENT_OBJECTIVE = history.INVESTMENT_OBJECTIVE;
【问题讨论】:
-
总是尝试在你的 rdbms 标签中包含 sql 问题
SqlServer,MySql?。某些功能并非在所有数据库上都可用。 -
查询看起来没问题,可能你没有匹配的数据。检查内部选择
SELECT * FROM SECURITY_HIS t2 WHERE DATED = (的结果 -
它是 sqlServer,我有匹配的数据!查询应该有问题
-
向我们展示架构和示例数据或准备一个 sqlFiddle sqlfiddle.com/#!6/860c2
-
@JuanCarlosOropeza 添加了架构
标签: sql oracle join inner-join