【发布时间】:2012-11-29 00:32:19
【问题描述】:
我几乎已经用 Sql Server 替换了我们的应用程序后端,但遇到了一个问题。以下 Access 查询不适用于 Sql Server。
SELECT table1.*
FROM table1
INNER JOIN (table2
INNER JOIN table3
ON ( table2.custkey = table3.custkey )
AND ( table2.sequence = table3.sequence ))
ON table1.account = table2.account
WHERE (( LEFT(table2.keyid, 1) = 'B' ))
ORDER BY table3.lastname & table3.firstname,
table1.account;
我尝试了此语句的多种变体,但未能使其发挥作用。此声明的一些帮助将帮助我修改其他一些。任何帮助将不胜感激。
【问题讨论】:
-
另一条评论。在您的 ORDER BY 中,您正在对派生字段(即姓氏 + 名字)进行排序。这将使 db 引擎首先组合 2 个字段,并对非索引结果进行排序。您可以改为 ORDER BY table3.lastname, table3.firstname, table1.account 这将为您提供相同的结果,但速度更快。
标签: sql-server ms-access join