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

Откуда:
Сообщений: 9
Уважаемые участники форума, вопрос в сабже. Есть таблица с 30-ью столбцами, некоторые из которых имеют тип xml. Если писать select * from table, то запрос будет выполняться долго. Можно конечно написать select t1,t2,t3....tn from table, но делать это порою лень. Предусмотрен ли какой-нить механизм для реализации запроса "выбрать записи со всеми колонками, кроме такой колонки"?
3 сен 09, 13:55    [7613052]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
проходящий.
Guest
I_Am_Hated,
нет. Лень не поощряется.
3 сен 09, 13:56    [7613056]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
I_Am_Hated
Member

Откуда:
Сообщений: 9
проходящий.,

вопрос больше для удовлетворения праздного любопытства:).
3 сен 09, 13:59    [7613072]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
I_Am_Hated
Можно конечно написать select t1,t2,t3....tn from table, но делать это порою лень.
В SSMS на Object Explorer-е раскрываем "плюсиком" таблицу - появляется папочка "Columns"
Берем эту папочку "Columns" и мышкой перетаскиваетм в окно редактирования SQL запроса
3 сен 09, 14:01    [7613085]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 21520
Звездочка - зло.

Например, делаешь представление со звездочкой.
Потом добавляешь в базовую таблицу столбец.
Фиг он появится в представлении без пересохранения последнего.
И тому подобные глюки...

Я вообще отказался от звездочек, даже если надо выбрать все поля. К тому же, без звездочек работает быстрее.
3 сен 09, 14:02    [7613089]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
el Pueblo
Member

Откуда: Харьков
Сообщений: 202
Сгенерить скрипт таблицы по плану Select to, ненужное удалить.
3 сен 09, 14:02    [7613095]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
I_Am_Hated
Member

Откуда:
Сообщений: 9
Паганель,

интересно все-таки не визуальными средствами. Просто любопытно есть ли такая возможность в sql.
3 сен 09, 14:04    [7613107]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
nosov
Guest
из этой таблицы сделай представление без ненужных колонок.
3 сен 09, 14:04    [7613108]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
I_Am_Hated
Member

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

можно. Видимо, разработчики sql посчитали излишним конструкции типа select * except t1,t2 from table.
3 сен 09, 14:21    [7613219]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
nosov
Guest
автор
Видимо, разработчики sql посчитали излишним конструкции типа select * except t1,t2 from table.
SELECT * FROM table
наверное можно дополнить условием (имхо)
WHERE t1, t2 не нужны
3 сен 09, 14:36    [7613316]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
create table t(a int, b int, c int)

DECLARE @str varchar(MAX)

SET @str ='SELECT'

SELECT @str = @str + ' [' + COLUMN_NAME  + '], '
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t' AND COLUMN_NAME!='a'

SELECT @str = SUBSTRING(@str, 1, len(@str)-1)

SET @str= @str + ' FROM [t]'

SELECT @str

exec(@str)

drop table t
Наверно можно использовать, что-то такое, когда случается приступ лени...
3 сен 09, 14:40    [7613334]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
проходящий.
Guest
DENIS_CHEL,
и не ЛЕНЬ было такое писать? :)
3 сен 09, 14:44    [7613358]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
DENIS_CHEL
Member

Откуда:
Сообщений: 23097
проходящий.
DENIS_CHEL,
и не ЛЕНЬ было такое писать? :)


Хм… у меня последние минуты рабочего дня, охота отвлечься на что-нибудь просто и не связанное напрямую с решаемыми задачами.

PS Нет, не лень)))
3 сен 09, 14:48    [7613402]     Ответить | Цитировать Сообщить модератору
 Re: Sql, реализация запроса "выбрать записи со всеми коолнками, кроме такой колонки". Как?  [new]
I_Am_Hated
Member

Откуда:
Сообщений: 9
DENIS_CHEL
create table t(a int, b int, c int)

DECLARE @str varchar(MAX)

SET @str ='SELECT'

SELECT @str = @str + ' [' + COLUMN_NAME  + '], '
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='t' AND COLUMN_NAME!='a'

SELECT @str = SUBSTRING(@str, 1, len(@str)-1)

SET @str= @str + ' FROM [t]'

SELECT @str

exec(@str)

drop table t
Наверно можно использовать, что-то такое, когда случается приступ лени...
Круто, действительно хорошее решение. А задачка, немного отвлеченной получилась:)
3 сен 09, 15:16    [7613591]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить