imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 07.09.2004, 20:46     # 1
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
Совмещение двух запросов MYSQL

Можно ли совместить два запроса select count c разными условиями в одном запросе?

Что то типа
SELECT count(*) AS c FROM table WHERE condition1
и
SELECT count(*) AS c FROM table WHERE condition2

При этом, мне нужно чтобы этот count выводился в одну и ту же переменную, над которой будут производиться вычисления.

Примерно так

SELECT count(*) AS a FROM table WHERE condition1
UNION
SELECT count(*)+a AS c FROM table WHERE condition2

Но ведь a во втором запросе не доступен.. Что же делать? Или это невозможно?
Psionic Vision вне форума  
Старый 07.09.2004, 21:19     # 2
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
юзай join
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 07.09.2004, 21:26     # 3
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
А конкретней?
Psionic Vision вне форума  
Старый 07.09.2004, 22:48     # 4
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
При чем тут join и как именно я должен его юзать?
Psionic Vision вне форума  
Старый 08.09.2004, 10:22     # 5
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
наверное единственный способ в твоем случае - это сохранение результатов в некоторой переменной, непосредственно в скрипте.

а в твоем случае почему бы не написать просто:

select count(*) as cnt from table where condition1 and condition2
__________________
убрано по просьбе администратора
Sheryld вне форума  
Старый 08.09.2004, 17:05     # 6
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Sheryld:
а в твоем случае почему бы не написать просто:

select count(*) as cnt from table where condition1 and condition2
Только or, а не and
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 08.09.2004, 18:56     # 7
Sinker
Junior Member
 
Регистрация: 10.07.2003
Адрес: г. Королев, Россия
Сообщения: 188

Sinker Известность не заставит себя ждатьSinker Известность не заставит себя ждать
Может быть я и намудрил, но вот так попробуй
SELECT count(aa.key)+count(bb.key) FROM table aa, table bb WHERE aa.key=value1 and bb.key=value2

А вообще, правильно тут сказали,
select count(*) as cnt from table where condition1 or condition2
Sinker вне форума  
Старый 09.09.2004, 00:41     # 8
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
да действительно or.

2Sinker
дык там одна и таже таблица, и все одинаковое, кроме условий. а если нужно сделать выборку из разных таблиц, то нужно использовать join(как правило данные связаны по ключевому полю. нет? меняйте структуру)
__________________
убрано по просьбе администратора
Sheryld вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:16.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.