表没有正确加入SQL

时间:2014-05-29 03:56:24

标签: mysql sql inner-join heidisql

我有两张桌子

Table A: Filename: (12345678_123456) Age: (100)

Table B: Filename: (12345678_123456) ID: (501)

我有以下查询

SELECT B.Filename, A.Age, B.ID FROM DB.A INNER JOIN B ON B.Filename WHERE B.ID >=0 AND B.ID <=100 LIMIT 100;

有两个问题。第一个是当ID达到6,240时,ID和Filename会回绕,然后重复相同的ID和文件名,进行另一次6,240 ID的迭代。第二个问题是每次迭代6,240个ID,年龄保持完全相同。我是SQL的初学者,这让我非常沮丧。如果有人能够指出我的(可能是明显的)错误,那将非常感激。

2 个答案:

答案 0 :(得分:1)

这是您的查询:

SELECT B.Filename, A.Age, B.ID
FROM DB.A INNER JOIN
     B
     ON B.Filename
WHERE B.ID >=0 AND B.ID <=100
LIMIT 100;

没有意义,尤其是on子句。我猜你的意思是:

SELECT B.Filename, A.Age, B.ID
FROM DB.A INNER JOIN
     B
     ON B.Filename = A.FileName
WHERE B.ID >=0 AND B.ID <=100
LIMIT 100;

答案 1 :(得分:0)

根据您的条件条款,您的ID始终在0到100之间 B.ID&gt; = 0 AND B.ID&lt; = 100,你不应该得到任何大到6,240的东西