SQL - 查询同一个表

时间:2016-02-26 15:04:44

标签: sql-server

全部,

前段时间我曾询问如何构建查询以执行与我们在此处运行的预测流程相关的以下内容。我在SQL中创建了一些表: - 我想要做的是查询字段Year,Month,Unit,Version,Currency,ERS,Region,ToolCode,Timestamp的唯一组合的最新时间戳。解释一下: o每个唯一的组合(版本)可以在表格中有多行,人们可以调整他们的预测并仅在表格中使用不同的时间戳生成相同的行; o然后我需要从SQL服务器查询最新的预测(最近的时间戳); - 为了解决这个问题,我实际上应该在同一个表上执行一个包含最大时间戳字段和内部连接的子查询。我提出了以下代码,但有些代码尚未运行:

SELECT A.Year,
    A.Month,
    A.Unit,
    A.[Affiliate Unit],
    A.Version,
    A.Currency,
    A.ERS,
    A.Region,
    A.Value,
    A.ToolCode,
    A.TIMESTAMP,
    A.LineCode
FROM dbo.TBL_FC_EXP_IC AS A
INNER JOIN (
    SELECT B.Year,
        B.Month,
        B.Unit,
        B.Version,
        B.Currency,
        B.ERS,
        B.Region,
        B.ToolCode,
        Max(B.TIMESTAMP) AS B.MaxTimestamp
    FROM dbo.TBL_FC_EXP_IC AS B
    GROUP BY B.Year,
        B.Month,
        B.Unit,
        B.Version,
        B.Currency,
        B.ERS,
        B.Region,
        B.ToolCode
    ) B ON (B.YEAR = A.YEAR)
    AND (B.Month = A.Month)
    AND (B.Unit = A.Unit)
    AND (B.Version = A.Version)
    AND (B.Region = A.Region)
    AND (B.ToolCode = A.ToolCode)
    AND (B.MaxTimestamp = A.TIMESTAMP);

它现在给我错误:

Msg 102,Level 15,State 1,Line 3 '附近的语法不正确。'。

任何帮助都将不胜感激。

由于

0 个答案:

没有答案