Jerji Rani Ответов: 1

Разделите 10 значений в одной таблице в SQL


Уважаемая Мадам / Сэр,
Хороший день,

Я пытаюсь написать запрос на SQL, чтобы разделить 10 чисел одновременно,
Не могли бы вы найти ниже некоторое объяснение :

Что я уже пробовал:

У меня в таблице есть 2 вариации теста 1 и теста 2 (Дата: ДД-ММ-гггг)
+++++++++++++++++
значение имени даты
тест1 10 1-1-2017
тест1 15 2-1-2017
тест1 20 3-1-2017
тест1 33 4-1-2017
тест1 91 5-1-2017
тест1 29 6-1-2017
тест1 30 7-1-2017
тест1 91 8-1-2017
тест1 99 9-1-2017
тест1 20 10-1-2017
+++++++++++++++++
тест2 15 1-1-2017
тест2 12 2-1-2017
тест2 23 3-1-2017
тест2 36 4-1-2017
тест2 97 5-1-2017
тест2 29 6-1-2017
тест2 32 7-1-2017
тест2 93 8-1-2017
тест2 96 9-1-2017
тест2 26 10-1-2017

теперь я попытался разделить значения на :
declare @test1 as real set @test1 = (select * from table_name where name ='test1')
declare @test2 as real set @test2 = (select * from table_name where name ='test2')
select @test1/test2 as result

но я получаю ошибку
есть ли способ разделить значения для каждого дня и поместить результат в другой столбец ?
ожидаемый результат :
++++++++++++++++++++++++++++++++
дата результата
0,66 1-1-2017
1.25 2-1-2017
0.86 3-1-2017
0.91 4-1-2017
... 5-1-2017
... 6-1-2017
... 7-1-2017
... 8-1-2017
... 9-1-2017
... 10-1-2017

заранее благодарю.

хорошего дня.

1 Ответов

Рейтинг:
5

Richard Deeming

Предполагая, что Microsoft SQL Server:

SELECT
    CAST(T1.value As real) / CAST(T2.value As real) As result,
    T1.[date]
FROM
    YourTable As T1
    INNER JOIN YourTable As T2
    ON T2.[date] = T1.[date]
WHERE
    T1.[name] = 'test1'
And
    T2.[name] = 'test2'
;


Jerji Rani

в этом случае он будет группироваться по дате или названию ? а если группировать по названию, то можно ли группировать по дате ?

спасибо

Richard Deeming

Он присоединится к записям в зависимости от даты. Я предположил, что у вас есть только одна запись для каждого теста на каждую дату.

Maciej Los

5ед!