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

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

Таблица примерно такая:

namecolor
a black
a
a
b
b white
b


нужно ко всем пустым строкам с name = a добавить color = 'black', а с name = b добавить color = 'white', взяв их с заполненных строк
20 май 18, 21:50    [21424232]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Посетитель
Member

Откуда:
Сообщений: 1209
ilshatkin,

max(color)over(partition by name)
20 май 18, 22:15    [21424271]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1467
ilshatkin,

нужно ко всем пустым строкам с name = a добавить color = 'black', а с name = b добавить color = 'white', взяв их с заполненных строк[/quot]Ситуация всегда такая банальная - в рамках одного и того же name может быть только одно значение color? Или допускается возможность такого:
namecolor
a black
a
a yellow
a
a white
a
b
b white
b

И если допускается, какое "заполнение" результата ожидается? Чем будет определяться порядок следования строк?
21 май 18, 07:38    [21424498]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1467
Кривовато получилось, цитирование не нужно

ilshatkin,
Ситуация всегда такая банальная - в рамках одного и того же name может быть только одно значение color? Или допускается возможность такого:

namecolor
a black
a
a yellow
a
a white
a
b
b white
b


И если допускается, какое "заполнение" результата ожидается? Чем будет определяться порядок следования строк?
21 май 18, 07:39    [21424501]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
ilshatkin
Member

Откуда:
Сообщений: 154
Щукина Анна,

в моем случае в рамках одного и того же name может быть только одно значение color
21 май 18, 12:00    [21425375]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1467
ilshatkin,

тогда, пути решение вам уже показали... :)
21 май 18, 12:10    [21425429]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
ilshatkin
Member

Откуда:
Сообщений: 154
Щукина Анна,

я не очень понял его, и погуглил все равно мало что понял. Поясните, пожалуйста, в какой конструкции это применимо
21 май 18, 12:11    [21425434]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1467
ilshatkin,

Select name, color
     , filled_color = max(color)over(partition by name)
from   [Таблица примерно такая]
21 май 18, 12:19    [21425462]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1467
ilshatkin, .
21 май 18, 12:24    [21425475]     Ответить | Цитировать Сообщить модератору
 Re: Помогите сделать запрос  [new]
ilshatkin
Member

Откуда:
Сообщений: 154
Щукина Анна,

Спасибо
21 май 18, 12:25    [21425481]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить