我是SQL的新手,在这个论坛的帮助下,我编写了以下SQL:
Select
Ekspeditioner.navn, Ekspeditioner.kundenr,
Ekspeditioner.lbnr,
Ekspeditioner.takserdato,
Ekspliniersalg.ATCkode From ekspeditioner inner join Ekspliniersalg where takserdato >=timestamp'2014-01-01 00:00:00'
and takserdato <=timestamp'2015-04-07 23:00:00'and Ekspliniersalg.atckode='N02BE01'
我收到此错误消息:
语句错误:期望ON或USING子句。
我已经尝试过这个论坛,一个SQL tutorial,谷歌并打电话给那个为我正在使用的数据库制作软件而又没有任何结果的公司。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
您的 JOIN 语法不正确,您错过了ON
,应该是这样的:
INNER JOIN table2
ON table1.column_name=table2.column_name
您的代码应该是:
SELECT Ekspeditioner.navn,
Ekspeditioner.kundenr,
Ekspeditioner.lbnr,
Ekspeditioner.takserdato,
Ekspliniersalg.ATCkode
FROM ekspeditioner
JOIN Ekspliniersalg
-- Here should go ON
ON ekspeditioner.column_name = Ekspliniersalg .column_name
WHERE takserdato >= timestamp'2014-01-01 00:00:00'
AND takserdato <=timestamp'2015-04-07 23:00:00'
AND Ekspliniersalg.atckode='N02BE01'
答案 1 :(得分:0)
请记住,我们需要JOINS的ON子句。 ON子句用于建立连接表之间的关系。请注意,ON子句中使用的字段主要是主键或字段组合,除交叉连接条件外,它们提供唯一结果。
最好使用带有表名的别名。
所以你的查询必须是这样的:
SELECT
A.navn,
A.kundenr,
A.lbnr,
A.takserdato,
B.ATCkode
FROM ekspeditioner A
JOIN Ekspliniersalg B
-- use ON clause
ON A.field_name = B .field_name
WHERE takserdato >= timestamp'2014-01-01 00:00:00' --- use alias
AND takserdato <=timestamp'2015-04-07 23:00:00'
AND B.atckode='N02BE01';