【发布时间】:2019-10-01 03:04:22
【问题描述】:
我无法找到导致以下查询没有结果的语法问题:
SELECT Table1.Country, Table_Data2.Part, Table_Data2.Description, Sum(Table_Data2.Quantity) AS Quantity, Table1.ship_time
FROM Table1 INNER JOIN Table_Data2 ON Table1.CodeValue = Table_Data2.CodeValue
GROUP BY Table1.Country, Table_Data2.Part, Table_Data2.Description, Table1.ship_time
HAVING (((Table_Data2.Part)="BB1234" Or (Table_Data2.Part)="BB-3454") AND ((Table1.ship_time)=Date()));
这应该会成功生成如下所示的表格:
Example of what result should look like
相反,没有出现语法问题,也没有加载任何记录。
上面的代码似乎存在语法问题,因为它在 mySQL 中不像在 MS Access 中那样工作
【问题讨论】:
-
要在 MySQL 中获取当前日期,请使用
Current_Date()。Date()MySQL 中的函数有不同的行为 -
是的,我已经对其进行了调整,但除此之外还有什么突出的吗?
-
此外,查看
Having子句中的条件,它们更适合在Where子句中使用。因为它们不是聚合值,并且您也在这些相同的字段上进行分组。如果您将它们转移到 Where 子句,您的查询将变得更加高效 -
感谢您的帮助,您能把这个放在答案中吗?
-
ship_time转成MySQL后的数据类型是什么?