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

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

ID0 ID1
1 0
2 0
3 0
4 0

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

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

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

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


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