Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как при выполнении запроса под одним из его полей вернуть просто 0? / 12 сообщений из 12, страница 1 из 1
29.07.2002, 15:28:43
    #32039418
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
В схеме программы составляются запросы к серверу, возвращающие все записи по всем полям таблицы. Но есть случай, когда вместо значений одного из полей надо вернуть нолики, но так, чтобы результат все равно включал название этого поля (потому как дальше запрос автоматизированно уходит в Бэтчмув и тот заполняет полученным парадоксовую таблицу... Пытался я изобразить что-то вроде
SELECT CASE WHEN ID1 THEN 0 ELSE * END FROM Table1

В смысле, чтобы получилось.

ID0 ID1
1 0
2 0
3 0
4 0

Просто в данный момент работают операции позаписного обнуления в программе, а это очень долго :(
...
Рейтинг: 0 / 0
29.07.2002, 15:32:28
    #32039419
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
Код: plaintext
SELECT CAST( 0  as int) as ID,some fields... FROM Table1 
...
Рейтинг: 0 / 0
29.07.2002, 15:34:33
    #32039422
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
да и еще (из любопытства)... а где используются таблицы парадокс? вроде рудимент такой....
...
Рейтинг: 0 / 0
29.07.2002, 16:11:43
    #32039434
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
2 Mice:

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

Ну а Парадокс... Знаете, когда система была сделана 5 лет назад, и ею пользуется масса народу, которая имеет диалаповый коннект... Они просто не поймут, когда всю систему попытаешься сразу обновить. Поэтому постепенно переходим к хранению на сервере данных в SQL (раньше они тоже только в парадоксе были), а уж для клиентов предусматриваем совместимость.
...
Рейтинг: 0 / 0
29.07.2002, 16:16:16
    #32039436
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
То есть, грубо говоря, в существующих вариантах не устраивает то, что поле ID1 встретится в запросе дважды - с 0 и с действительным значением :(
...
Рейтинг: 0 / 0
29.07.2002, 17:56:04
    #32039473
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
только через временную таблицу.... тип того...
Код: plaintext
1.
2.
select * into #tmp from sometable
update #tmp set id= 0 
select * from #tmp
...
Рейтинг: 0 / 0
29.07.2002, 18:01:33
    #32039478
Александр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
А ускорит ли это работу? При обороте примерно в 2000 записей?
...
Рейтинг: 0 / 0
30.07.2002, 09:00:36
    #32039544
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
2000 это не много...
да ускорит.... если сравнивать с селектом то нет, примерно столько же....
а вот по сравнению с курсорами намного быстрее...
...
Рейтинг: 0 / 0
30.07.2002, 09:14:20
    #32039548
Queen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
Сорри а вариант COALESCE([Table].[поле],0)) AS Поле2

Не катит?
...
Рейтинг: 0 / 0
30.07.2002, 09:21:47
    #32039553
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
Queen
представь себе табличку с парой десятков полей...
раньше было select * from tablename...
как только появился id - нужно перечислить все остальные поля.....
...
Рейтинг: 0 / 0
30.07.2002, 09:56:33
    #32039559
Белов Владимир
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
А что, никогда не известно, какие и сколько будет полей ?
...
Рейтинг: 0 / 0
30.07.2002, 11:38:04
    #32039595
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как при выполнении запроса под одним из его полей вернуть просто 0?
я думаю что известно сколько полей и их типы, но их много...
З.Ы. почти на всех серверах есть возможность работы с метаданными, но это к вопросу написания универсальных процедур.... а вот если нуно быстро что-то слепить то я думаю что приведенный выше способ удобен простотой...
(если объем данных не высок кнечно...)
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как при выполнении запроса под одним из его полей вернуть просто 0? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]