【发布时间】:2016-11-30 05:09:27
【问题描述】:
我有一个查询在访问中按预期工作。我已经将它“转换”为它不想工作的网络系统。但是,当我删除必需的 ORDER BY(在发布的示例的最底部)时,查询可以正常工作。
我不确定是什么导致了这个问题。出现的错误信息如下:
Expected lexical element not found: ) There was a problem parsing the table names after the FROM keyword in your SELECT statement. -- Location of error in the SQL statement is: 812 (line: 17 column: 72)
我不想发布整个查询,因为它很长(除非要求),但问题出现在底线:
SELECT TOP 5 [90Days].PRODUCT, [90Days].product2, [90Days].pcustkey, [90Days].[90DayThroughput], TABLETHREE.SumOfLQUAN AS [Current Stock], (ROUND([SumOfLQUAN]/[90DayThroughput],3))*90 AS [DaysRemaining] FROM
(
SELECT TABLEONE.PRODUCT, Sum(TABLEONE.QUANTITY) AS [90DayThroughput], TABLETWO.product2, TABLETWO.pcustkey FROM TABLETWO INNER JOIN TABLEONE ON TABLETWO.PRODCODE = TABLEONE.PRODUCT WHERE
(
(
(TABLEONE.DATE)>='$date'-90
)
AND
(
(TABLEONE.type)='I11' Or (TABLEONE.type)=' 11'
)
AND
(
(TABLETWO.POWNER)='$custCode'
)
)
GROUP BY TABLEONE.PRODUCT, TABLETWO.product2, TABLETWO.pcustkey ORDER BY Sum(TABLEONE.QUANTITY) DESC
任何帮助将不胜感激。如果需要,我可以提供更多查询。
【问题讨论】:
-
也许你应该说
ORDER BY [90DayThroughput]?不知道... -
如果您使用 Codeigniter,我建议您在查询中使用 Active Record 数据库模式。它更简单。
-
@MikeRobinson 这会导致完全相同的问题:(无论如何感谢您的帮助。
-
@JobSam 我会调查一下,谢谢!
标签: php sql codeigniter advantage-database-server