Sql server MS SQL中的最大值

Sql server MS SQL中的最大值,sql-server,sql-server-2008,max,Sql Server,Sql Server 2008,Max,表2中有3条记录,现在我想从表2中获取最大代码,这显示了一个错误 没有为“q”的第2列指定列名 列名QName无效错误正确。您的q中没有代码或QName列。您应该将其更改为LEFT JOIN SELECT MAXcode AS code FROM table 3 AS q ON This应该修复缺少的代码列。但我不知道你的名字从哪里来。关于您的故事的更多信息将非常有用。检查更新问题左连接从表3中选择MAXcode作为代码作为q ON ed.code=q.code应修复无效的列名代码。但是您在这个

表2中有3条记录,现在我想从表2中获取最大代码,这显示了一个错误

没有为“q”的第2列指定列名
列名QName无效

错误正确。您的q中没有代码或QName列。您应该将其更改为LEFT JOIN SELECT MAXcode AS code FROM table 3 AS q ON This应该修复缺少的代码列。但我不知道你的名字从哪里来。关于您的故事的更多信息将非常有用。检查更新问题左连接从表3中选择MAXcode作为代码作为q ON ed.code=q.code应修复无效的列名代码。但是您在这个子查询中没有QName您在ISNULLq.QName中使用的是什么?-“选择QName,表3中的最大代码按QName分组更改此左连接选择QName,表3中的最大代码按代码q分组到此左连接选择QName,表3中的最大代码按代码q分组并添加最大代码以选择零件。问题出在未命名的列max code中。
SELECT 
    ISNULL(Name, '-') AS Name,
    ISNULL(q.QName, '-') AS Education,
    ISNULL(Grade, '-') AS Grade
FROM table1 t1
    LEFT JOIN table2 t2 ON t1.id = t2.id
    LEFT JOIN (SELECT qname,max (code) FROM table3 group by Code) q ON ed.code = q.code
WHERE vw.id = 125
SELECT 
    ISNULL(Name, '-') AS Name,
    ISNULL(q.QName, '-') AS Education,
    ISNULL(Grade, '-') AS Grade
FROM table1 t1
    LEFT JOIN table2 t2 
        ON t1.id = t2.id
    LEFT JOIN (SELECT QName, MAX(code) AS code FROM table3 GROUP BY QName) q 
        ON ed.code = q.code
WHERE vw.id = 125