Как вы разделяете строки одной таблицы со строками другой таблицы в SQL? - PullRequest
1 голос
/ 30 января 2012

Если у меня есть две таблицы целочисленных значений, например:

Table:Distance
1
2
3
4
5

Table:Time
2
4
6
8
10

Как мне разделить таблицу: Расстояние на таблицу: Время достижения

Result:
0.5
0.5
0.5
0.5
0.5

Ответы [ 3 ]

6 голосов
/ 30 января 2012

Предполагая, что время и расстояние имеют какое-то отношение.

select Distance.value / CAST(Time.value As float)
from Distance 
join Time on Distance.ID = Time.ID

Приведение к float необходимо, если Time.value или Distance.value равно integer, чтобы получить результат как float. Если между таблицами нет никакой связи, вы должны создать одну .

3 голосов
/ 30 января 2012

Вам необходим общий столбец между таблицами, чтобы узнать, какие строки в одной таблице соответствуют строкам в другой таблице. Допустим, вы добавили столбец идентификатора в обе таблицы, чтобы у вас было

Таблица расстояний:

id     distance
1         1
2         2
3         3
4         4
5         5

Время таблицы:

id     time
1       2
2       4
3       6
4       8
5       10

Тогда вы могли бы сделать что-то вроде этого

SELECT (Distance.distance/CAST(Time.time As Float)) As Result
FROM Distance INNER JOIN time ON Distance.id = Time.id
0 голосов
/ 31 января 2012

Если между временем и расстоянием 1-1 и если вы можете переопределить структуры таблицы, было бы лучше определить время и расстояние в одной и той же таблице.

...