0

私はそのような2つのテーブルを持っています

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;

2 つの問題があります。1 つ目は、ID が 6,240 になると、ID とファイル名がラップアラウンドし、6,240 ID の別の反復に対して同じ ID とファイル名が繰り返されることです。2 番目の問題は、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 に答える