Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 заполнить пробелы  [new]
васечкин
Guest
Помогите пожалуйста заполнить null без update
21 ноя 12, 11:39    [13505804]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
васечкин,

К сообщению приложен файл. Размер - 8Kb
21 ноя 12, 11:40    [13505812]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Glory
Member

Откуда:
Сообщений: 104760
васечкин
Помогите пожалуйста заполнить null без update

Силой мысли что ли ? Без выполнения команд на сервере ?
21 ноя 12, 11:41    [13505826]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Добрый Э - Эх
Guest
васечкин, на правах телепатии:
select ... 
     isnull(id1, 0) as id1,
     isnull(id2, 0) as id2,
     ...
from ....
21 ноя 12, 11:45    [13505873]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
Добрый Э - Эх,

Чтобы по id1 вместо null было 75 а всесто id2 было 11

Может как нить joinнами?
21 ноя 12, 11:49    [13505919]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
васечкин
Добрый Э - Эх,

Чтобы по id1 вместо null было 75 а всесто id2 было 11

Может как нить joinнами?


select 75 as id1, 11 as id2 from MyTable
21 ноя 12, 11:56    [13505973]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Добрый Э - Эх
Guest
Может и джойнами, а может и max(id1) over()-ами да max(d2) over()-ами, а может ещё как-то.
Кто же тебя поймет... Как таковой постановки задачи не прозвучало...
21 ноя 12, 11:58    [13505986]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
iap
Member

Откуда: Москва
Сообщений: 46999
Knyazev Alexey
васечкин
Добрый Э - Эх,

Чтобы по id1 вместо null было 75 а всесто id2 было 11

Может как нить joinнами?


select 75 as id1, 11 as id2 from MyTable
Говорят, надо "вместо null"!
В предыдущем ответе васечкин никак не может заменить 0 на 75 и 0 на 11
21 ноя 12, 11:59    [13505995]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
Неужели никто не может помочь?
21 ноя 12, 13:40    [13507073]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
select ... 
     isnull(id1, 75) as id1,
     isnull(id2, 11) as id2,
     ...
from ....


Сообщение было отредактировано: 21 ноя 12, 13:41
21 ноя 12, 13:41    [13507081]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
Гавриленко Сергей Алексеевич,


но у меня такиз значений может быть несколько

например

75_11
null_11
75_null
88_99
null_99
88_null
21 ноя 12, 13:55    [13507202]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
васечкин
Гавриленко Сергей Алексеевич,


но у меня такиз значений может быть несколько

например

75_11
null_11
75_null
88_99
null_99
88_null
Укажите нужное.
21 ноя 12, 13:57    [13507214]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
Гавриленко Сергей Алексеевич,

case

when id1 is not null then id1

end

не подходит
21 ноя 12, 14:01    [13507253]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
васечкин
Гавриленко Сергей Алексеевич,

case

when id1 is not null then id1

end

не подходит
Вы сегодня задачу внятно сформулируете? Или формулировку нужно сначала угадать?
21 ноя 12, 14:03    [13507272]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
Гавриленко Сергей Алексеевич,

нужно найти уникальных

id1_id2
1_NULL
NULL_1
1_1

Сейчас это считается 3 уникальных строки

а на самом деле это 1 уникальный
21 ноя 12, 14:06    [13507300]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
kryak
Member

Откуда:
Сообщений: 396
васечкин,

возможно
SELECT ISNULL(id1, 0), ISNULL(id2, 0)
FROM ...
GROUP BY ISNULL(id1, 0), ISNULL(id2, 0);
21 ноя 12, 14:15    [13507368]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
kryak
Member

Откуда:
Сообщений: 396
Сори, вот
SELECT COALESCE(id1, id2, 0), COALESCE(id1, id2, 0)
FROM ...
GROUP BY COALESCE(id1, id2, 0), COALESCE(id1, id2, 0);
21 ноя 12, 14:17    [13507407]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
kryak,

а если так

75_11
null_11
75_null
88_99
null_99
88_null

то непойдет :(( я пытался
21 ноя 12, 14:22    [13507454]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
kryak
Member

Откуда:
Сообщений: 396
васечкин,

Проверяйте

DECLARE @t TABLE (id1 int, id2 int)

INSERT INTO @t VALUES (75, 11), (NULL, 11), (75, NULL), (88,99), (NULL, 99), (88,NULL)

SELECT  *
FROM @t

SELECT COALESCE(id1, id2, 0), COALESCE(id2, id1, 0)
FROM @t
GROUP BY COALESCE(id1, id2, 0), COALESCE(id2, id1, 0);


P.S.: копи паст сгубил
21 ноя 12, 14:26    [13507505]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
kryak,

исходный

75 11
NULL 11
75 NULL
88 99
NULL 99
88 NULL


выполненный
11 11
75 11
75 75
88 88
88 99
99 99
21 ноя 12, 14:35    [13507601]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
kryak
Member

Откуда:
Сообщений: 396
васечкин,

А должно то что получиться?

Судя по вашему посту
1_NULL
NULL_1
1_1
Сейчас это считается 3 уникальных строки
21 ноя 12, 14:42    [13507689]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
Glory
Member

Откуда:
Сообщений: 104760
васечкин
kryak,

исходный

75 11
NULL 11
75 NULL
88 99
NULL 99
88 NULL

А почему такой порядок ?

а если будет такой ?
75	11
88 99
75 NULL
NULL 99
88 NULL
NULL 11
21 ноя 12, 14:44    [13507711]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
васечкин
Guest
kryak,

дано

75_11
null_11
75_null
88_99
null_99
88_null

должно получится

75_11 (count 3)
88_99 (count 3)

Вот с этой проблемой сижу 3 день
21 ноя 12, 14:46    [13507731]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
smallserg
Member

Откуда:
Сообщений: 82
васечкин,

если вы не ответите на предыдущий вопрос Glory -
никто вам помочь не сможет.
21 ноя 12, 15:39    [13508328]     Ответить | Цитировать Сообщить модератору
 Re: заполнить пробелы  [new]
petre
Member

Откуда: Кривой Рог
Сообщений: 42
васечкин,
а если будет дано:
75_11
null_11
73_11
75_null
88_99
null_99
88_null,
то какой результат должен быть?
21 ноя 12, 15:49    [13508428]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить