Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помогите пожалуйста с запросом SELECT  [new]
Костя_ГПА
Member

Откуда:
Сообщений: 4
Здравствуйте, помогите пожалуйста решить проблему, никак не получается. Задачу упростил, мне бы суть понять. Задача такая:

Имеется 2 таблицы, одинаковые структуры, 2 столбца. первый столбец у них - это время, второй - переменная. Нужно сгенерировать 3-ю таблицу, у который первый столбец - время, по которому синхронизируются 2 таблицы, второй столбец - переменная которая бОльшая из вторых столбцов исходных 2х таблиц. У меня получилось только сделать так, чтобы в третей таблице отображались 3 столбца: время, переменная из 1й таблицы, переменная из 2й таблицы.

Заранее благодарю!

SELECT dbo.TABLE1.timestamp, dbo.TABLE1.C01_VAL0, dbo.Table2.C01_VAL0
FROM dbo.Table1, dbo.Table2
WHERE convert dbo.TABLE1.timestamp = dbo.Table2.timestamp
10 окт 13, 16:13    [14951817]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом SELECT  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Костя_ГПА
суть понять
столбец - переменная которая бОльшая из вторых столбцов исходных 2х таблиц

Суть:
CASE WHEN a > b THEN a ELSE b END
10 окт 13, 16:19    [14951862]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом SELECT  [new]
Костя_ГПА
Member

Откуда:
Сообщений: 4
SELECT dbo.TABLE1.timestamp, dbo.TABLE1.C01_VAL0, dbo.Table2.C01_VAL0
FROM dbo.Table1, dbo.Table2
WHERE dbo.TABLE1.timestamp = dbo.Table2.timestamp
10 окт 13, 16:20    [14951871]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом SELECT  [new]
Костя_ГПА
Member

Откуда:
Сообщений: 4
Гость333, Ну то есть, суть и логику я понимаю, но не знаю как в SQL это написать. Я программирую на контроллерах и SCADA - системах, а теперь задача появилась с базами поработать. Как в SQL это написать?
10 окт 13, 16:22    [14951897]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом SELECT  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Костя_ГПА,

Я написал выражение, которое вычисляет максимум двух чисел.
Если вы хотите, чтобы я его подставил в ваш запрос, то вот:
SELECT t1.timestamp, CASE WHEN t1.C01_VAL0 > t2.C01_VAL0 THEN t1.C01_VAL0 ELSE t2.C01_VAL0 END AS MAX_C01_VAL0
FROM dbo.Table1 t1, dbo.Table2 t2
WHERE t1.timestamp = t2.timestamp
10 окт 13, 16:27    [14951945]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста с запросом SELECT  [new]
Костя_ГПА
Member

Откуда:
Сообщений: 4
Гость333,
Спасибо большое!!! Дело продвинулось, буду дальше учить.
11 окт 13, 09:07    [14954592]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить