Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   вопрос про запрос в Mssql (https://forum.antichat.xyz/showthread.php?t=51933)

ShAnKaR 24.10.2007 21:54

вопрос про запрос в 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. спасибо.

ant0ha 24.10.2007 22:27

можно сделать так к примеру
Код:

select name from tabl where id=1 or id=2 or id=3

guest3297 24.10.2007 22:33

Цитата:

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

halkfild 24.10.2007 22:36

что именно тебе надо? если ты хочешь вывести все где разные ид то сделай
Цитата:

select name from tabl group by id
или тебе ножно это все вернуть в одной строке?

и насчет ид они ограничены или тебе нужны все?

guest3297 24.10.2007 22:37

=) если все то
select name from tabl =)
да поясни маску по которой должны выводиться запросы.

ant0ha 24.10.2007 22:42

Цитата:

Сообщение от [ cash ]
select name from tabl where id=1 and id=2 and id=3

так запрос ничего не найдет, id же не может сразу три значения принимать нужно делать через or

ShAnKaR 24.10.2007 23:59

нет вы непоняли вот посмотрите что делает запрос который я привел- он не выводит несколько рядов! он выводит один ряд. просто меня интересует можно ли както менее нагружать сервер чтоб вывести тиа того кк если б было select name from tabl where id=1 or id=2 or id=3 потом те записи которые выдает этот запрос пихались в одну строчку и выводились как результат.

ant0ha 25.10.2007 15:58

Проще ты никак не сделаешь, чтобы менее нагружать базу и не делать кучу идентичных запросов, лучше сделать один а там его уже просто правильно обработать и подать ответ на экран в том виде каком надо, но обрабатывать нужно уже не средствами mssql.

ShAnKaR 25.10.2007 16:41

Цитата:

Сообщение от ant0ha
Проще ты никак не сделаешь, чтобы менее нагружать базу и не делать кучу идентичных запросов, лучше сделать один а там его уже просто правильно обработать и подать ответ на экран в том виде каком надо, но обрабатывать нужно уже не средствами mssql.

а средствами mssql ни как нельзя?

ant0ha 25.10.2007 17:24

Цитата:

Сообщение от 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 получиться, + ведь это арифметическое сложение =)


Время: 17:55