Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему нельзя зделать так? subselects... 
V
    Опции темы
awers
  Дата 3.1.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 1
Всего: 31



Код

CREATE TEMPORARY TABLE t1 AS 
SELECT `phone` as `ph`,(
select `svm` from `tarif` where `id` = (
select `tarif` from `users` where `phone` = `ph`
)
)
as `cena`,
CEILING( `time` /1000 /60 ) as `min`,
CEILING( `time` /1000 /60 ) * (
select `svm` from `tarif` where `id` = (
select `tarif` from `users` where `phone` = `ph`
)
)
as `summ`, 
`to`
FROM `statistic` 
WHERE `to` LIKE '%' 
AND `to` NOT LIKE '8%'
AND `to` NOT LIKE '0%' 
OR `to` LIKE '824%' 
OR `to` LIKE '88634%';

select SUM(`summ`) AS `summ`,`ph`,COUNT(*) AS `cou`,(select count(*) from `statistic` where `phone` = `ph`) as `mg` from `t1` GROUP BY `ph` LIMIT 10000


Если пишу с WHERE PHONE = PH 
(последняя строка)
выдает ошибку непонятного содержания smile(( почему?

Добавлено @ 00:35 
Код

CREATE TEMPORARY TABLE t1 AS 
SELECT `phone` as `ph`,(
select `svm` from `tarif` where `id` = (
select `tarif` from `users` where `phone` = `ph`
)
)
as `cena`,
CEILING( `time` /1000 /60 ) as `min`,
CEILING( `time` /1000 /60 ) * (
select `svm` from `tarif` where `id` = (
select `tarif` from `users` where `phone` = `ph`
)
)
as `summ`, 
`to`,
(select COUNT(*) from `statistic` where `phone` = `ph`) AS `cou`
FROM `statistic` 
WHERE `to` LIKE '%' 
AND `to` NOT LIKE '8%'
AND `to` NOT LIKE '0%' 
OR `to` LIKE '824%' 
OR `to` LIKE '88634%';

select SUM(`summ`) AS `summ`,`ph`,COUNT(*) AS `cu`,`cou` from `t1` GROUP BY `ph` LIMIT 10000


Сделал по другому, но скажите, оптимален ли такой запрос? Могу привести структуру БД.
И ещё, как в последнй части запроса, получить разницу между `cou` и `cu` ? Ибо (`cou`-`cu` as `mg`) не прокатывает smile

Это сообщение отредактировал(а) awers - 3.1.2007, 00:29
PM MAIL WWW ICQ Skype   Вверх
murod
Дата 3.1.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 17.9.2005
Где: Uzbekistan/Tashke nt

Репутация: нет
Всего: 4



Цитата

Если пишу с WHERE PHONE = PH 
(последняя строка)
выдает ошибку непонятного содержания smile(( почему?

можеш показать ошибку?

--------------------
Люди всего мира берегите природу!  
PM MAIL ICQ   Вверх
PARROT
Дата 3.1.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: нет
Всего: 50



Код

 or die(mysql_error());



--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
awers
Дата 3.1.2007, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: 1
Всего: 31



благодарю, проблема решина ... построил запрос по-другому.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.