Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
вопрос про запрос в Mssql |

24.10.2007, 21:54
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
вопрос про запрос в Mssql
как вывести в одну строчку данные из нескольких запросов:
тоесть я понимаю что можно так:
select (select name from tabl where id=1)+(select name from tabl where id=2)+(select name from tabl where id=3)
но можно както сократить чтоб базе меньше напряга было?
PS запросы все одинаковые меняется только ID. спасибо.
|
|
|

24.10.2007, 22:27
|
|
Участник форума
Регистрация: 22.05.2007
Сообщений: 144
Провел на форуме: 306311
Репутация:
119
|
|
можно сделать так к примеру
Код:
select name from tabl where id=1 or id=2 or id=3
|
|
|

24.10.2007, 22:33
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
select name from tabl where id=1 or id=2 or id=3
select name from tabl where id=1 and id=2 and id=3
|
|
|

24.10.2007, 22:36
|
|
Leaders of Antichat - Level 4
Регистрация: 11.11.2005
Сообщений: 391
Провел на форуме: 7084941
Репутация:
2277
|
|
что именно тебе надо? если ты хочешь вывести все где разные ид то сделай
select name from tabl group by id
или тебе ножно это все вернуть в одной строке?
и насчет ид они ограничены или тебе нужны все?
|
|
|

24.10.2007, 22:37
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
=) если все то
select name from tabl =)
да поясни маску по которой должны выводиться запросы.
|
|
|

24.10.2007, 22:42
|
|
Участник форума
Регистрация: 22.05.2007
Сообщений: 144
Провел на форуме: 306311
Репутация:
119
|
|
Сообщение от [ cash ]
select name from tabl where id=1 and id=2 and id=3
так запрос ничего не найдет, id же не может сразу три значения принимать нужно делать через or
|
|
|

24.10.2007, 23:59
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
нет вы непоняли вот посмотрите что делает запрос который я привел- он не выводит несколько рядов! он выводит один ряд. просто меня интересует можно ли както менее нагружать сервер чтоб вывести тиа того кк если б было select name from tabl where id=1 or id=2 or id=3 потом те записи которые выдает этот запрос пихались в одну строчку и выводились как результат.
|
|
|

25.10.2007, 15:58
|
|
Участник форума
Регистрация: 22.05.2007
Сообщений: 144
Провел на форуме: 306311
Репутация:
119
|
|
Проще ты никак не сделаешь, чтобы менее нагружать базу и не делать кучу идентичных запросов, лучше сделать один а там его уже просто правильно обработать и подать ответ на экран в том виде каком надо, но обрабатывать нужно уже не средствами mssql.
|
|
|

25.10.2007, 16:41
|
|
Пачка маргарина
Регистрация: 14.07.2005
Сообщений: 964
Провел на форуме: 4646474
Репутация:
1424
|
|
Сообщение от ant0ha
Проще ты никак не сделаешь, чтобы менее нагружать базу и не делать кучу идентичных запросов, лучше сделать один а там его уже просто правильно обработать и подать ответ на экран в том виде каком надо, но обрабатывать нужно уже не средствами mssql.
а средствами mssql ни как нельзя?
|
|
|

25.10.2007, 17:24
|
|
Участник форума
Регистрация: 22.05.2007
Сообщений: 144
Провел на форуме: 306311
Репутация:
119
|
|
Сообщение от ShAnKaR
а средствами mssql ни как нельзя?
нет, это же чисто база данных
ЗЫ: я чегото недопер как у тебя это работает
Код:
select (select name from tabl where id=1)+(select name from tabl where id=2)+(select name from tabl where id=3)
в результате этого запроса должен же 0 получиться, + ведь это арифметическое сложение =)
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|