【发布时间】:2013-08-06 18:11:57
【问题描述】:
我收到一条关于“JOIN 语句有语法错误”的错误消息,但我没有在语句中使用“JOIN”。 “abc.csv”和“efg.csv”都有相同的“datetime,price,change,high_low”字段。 我正在使用“Microsoft.Jet.OLEDB.4.0”的VBA“ADODB.Connection”
声明如下:
SELECT
MAX(DateValue(`datetime`)) AS `date_from`
,MIN(DateValue(`datetime`)) AS `date_to`
FROM ((
SELECT
`datetime`
, `price`
, `change`
, `high_low`
FROM `abc.csv`)
UNION (
SELECT
`datetime`
, `price`
, `change`
, `high_low`
FROM `efg.csv`))
【问题讨论】:
-
顺便说一句,联合部分工作正常。
-
你在连接什么?您使用反引号来识别对象名称意味着 MySQL,但我不知道
DateValue是 MySQL 函数?也许尝试使用另一个标识符 (', ", [])。如果您不打算使用它们,在子查询中选择 4 列也是没有意义的,不要做比您必须做的更多的工作! -
事件我执行查询得到同样的错误。 “SELECT * FROM ((SELECT datetime, price, change, high_low FROM abc.csv) UNION (SELECT datetime, price, change, high_low FROM efg.csv))” 我为每个子查询添加别名。
-
对于 DateValue(),因为我使用的是 ADODB。追随者查询工作正常。 "选择 MAX(DateValue(
datetime)) ASdate_from,MIN(DateValue(datetime)) ASdate_toFROM ( SELECTdatetime,price,change,high_lowFROM @99 @)" -
只有在我尝试从联合子查询中选择某些内容时才会出现错误。 "select * from ((select * from a) union (select * from b))"