SQL错误 - 不是唯一的表/别名

时间:2016-06-02 11:42:54

标签: sql

我想按日期加入2个表,然后我想使用某个类别上指定的温度。这是我当前的SQL代码:

SELECT id, pasnummer, datum1
FROM transacties1, knmidata
INNER JOIN knmidata ON knmidata.datum = transacties1.datum1
WHERE MinTemp < 100 AND category='actief'
  

错误:1066:未指定knmidata。

我刚刚重命名了knmidata,所以名字是唯一的。如果有人能帮助我,我感激不尽。

3 个答案:

答案 0 :(得分:0)

您尝试使用逗号分隔的表连接,但再次添加了INNER JOIN,这会导致错误。从FROM子句中删除第二个表将解决此问题。

SELECT id, pasnummer, datum1 
FROM transacties1 -- , knmidata   is not required here
INNER JOIN knmidata ON knmidata.datum = transacties1.datum1 
WHERE MinTemp < 100 AND category = 'actief';

答案 1 :(得分:0)

您可以尝试这一点 - 更改是您在FROM部分中包含表格的地方,您在knmidata之前不需要INNER JOIN

SELECT 
  id, 
  pasnummer, 
  datum1 
FROM 
  transacties1 INNER JOIN knmidata 
    ON knmidata.datum = transacties1.datum1 
WHERE 
  MinTemp < 100 
  AND category='actief'

答案 2 :(得分:0)

简单规则:从不FROM子句中使用逗号。 始终使用明确的JOIN语法。

我认为没有理由两次包含knmidata表。所以,试试这个:

SELECT id, pasnummer, datum1
FROM transacties1 INNER JOIN
     knmidata
     ON knmidata.datum = transacties1.datum1
WHERE MinTemp < 100 AND category = 'actief';