0

我有两张这样的桌子

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;

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

4

2 回答 2

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;
于 2014-05-29T03:59:06.997 回答
0

由于根据您的条件子句 B.ID >=0 AND B.ID <=100,您的 id 始终介于 0 和 100 之间,因此您应该无法获得 6,240 这样大的值

于 2014-05-29T04:21:37.243 回答