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

Откуда: Krasnoyarsk
Сообщений: 54
Всем доброго дня!
Подскажите, пожалуйста, можно ли выбрать из таблицы только заполненные колонки с помощью простого оператора типа where?
PIVOT может не подойти: структура таблицы заранее не известна.

Спасибо.
16 май 13, 07:21    [14303072]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
talja
Подскажите, пожалуйста, можно ли выбрать из таблицы только заполненные колонки с помощью простого оператора типа where?

заполненные чем? признак заполненности/незаполненности? NULL?


talja
PIVOT может не подойти: структура таблицы заранее не известна.

динамика
16 май 13, 08:42    [14303192]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
talja
Member

Откуда: Krasnoyarsk
Сообщений: 54
Knyazev Alexey,
В колонках таблицы могут быть проставлены 1 или 2, но в идеале можно и от NULL отталкиваться.
А насчет динамики....я, представляю, как все это можно было бы в динамике реализовать:
из sys.columns выбирать метаданные о структуре таблицы и динамически строить нужные мне запросы, но колонок много. К тому же мне нужно вычислить заполненные колонки для конкретной записи. И данные из заполненных колонок перенести в другую таблицу "развернутой" структуры (почему и был упомянут PIVOT). Вот только страшно представить продолжительность этого процесса.
16 май 13, 09:16    [14303264]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
talja
Вот только страшно представить продолжительность этого процесса.

по определению у вас предовая задача, либо плохо спроектированая система, если это отчёт, то его нужно строить явно не средствами T-SQL, если хотите на t-sql, то придётся писать монстровидный запрос с кучей динамики
16 май 13, 09:29    [14303312]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
ну и для начала не мешало бы не на пальцах спрашивать, что вам нужно, а привести скрипты объектов с тестовым наполнением и что вам нужно получить на выходе, иначе это всё превращается в гадание...
16 май 13, 09:30    [14303322]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
Ruuu
Member

Откуда: Иркутск
Сообщений: 4272
Knyazev Alexey
ну и для начала не мешало бы не на пальцах спрашивать, что вам нужно, а привести скрипты объектов с тестовым наполнением и что вам нужно получить на выходе, иначе это всё превращается в гадание...
И SELECT @@VERSION, а то может у вас там того же PIVOT нет вовсе.
16 май 13, 09:34    [14303343]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104751
talja
И данные из заполненных колонок перенести в другую таблицу "развернутой" структуры (почему и был упомянут PIVOT)

Интересная фраза. А зачем что-то проверять заранее, если и так все работает
insert [таблица "развернутой" структуры] (somecolumn)
select f1 from mytable where f1 is not null
16 май 13, 09:37    [14303360]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
talja
Member

Откуда: Krasnoyarsk
Сообщений: 54
Knyazev Alexey,

По поводу системы: это может даже и верно... но что делать? придется что-нить придумывать...
16 май 13, 09:39    [14303369]     Ответить | Цитировать Сообщить модератору
 Re: Выбор заполненных колонок из таблицы  [new]
talja
Member

Откуда: Krasnoyarsk
Сообщений: 54
Glory, спасибо, попробую
16 май 13, 10:04    [14303501]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить