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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хранимая процедура или другой вариант реализации, Хранимая процедура 
:(
    Опции темы
alexpotemkin
  Дата 9.1.2009, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 21.11.2006

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



Прошу помощи, т.к. слаб в MySQL, а реализовать хотелось бы быстрей.  Есть две таблицы, не связаны друг с другом ключами, единственное что есть общее у них это поле даты и поле (флаг) ls, ниже пример структуры таблиц
table1 (oper)
id, ls, mid, oper_date
table2 (visit)
id, ls, date, raw, uniq, oper  

запросы целевые к двум таблицам
Код

SELECT o.ls, count(DISTINCT o.mid) as micount
FROM v.oper o
WHERE (o.res =1) AND (o.oper_date >= '2008-12-01') AND (o.oper_date <= '2009-02-01')
GROUP BY m.ls
ORDER BY m.ls;


Код

SELECT v.LS, sum(v.raw) AS raw, sum(v.uniq) AS uniq, sum(v.oper) AS oper, (sum(v.uniques)/sum(v.oper)) AS calc1
FROM v.visit v
WHERE (v.date >= '2008-12-01') and (v.date <= '2009-02-01') and (v.ls>0)
GROUP BY v.ls
ORDER BY v.ls,calc1;


структуру не меняем нужно выкрутится при помощи процедуры или хитрого запроса, в interbase накатал бы хранимку за пять минут, а тут никак не соображу как такое делается, вот что первое попалось под руку подобная реализация в interbase, нужно что то в этом духе.
Код

CREATE PROCEDURE VIEW_GROUP (
    group_name varchar(255))
returns (
    word varchar(255),
    synonym varchar(255),
    synonym_count smallint,
    new_field integer)
as
begin
  for select word, synonym, synonym_count
      from words_base
      where (is_group=0) and (group_name=:group_name)
      order by synonym_count desc
      into :word, :synonym, :synonym_count
  do begin
    select field from table2 where group_name=:group_name
    into :new_field;
    suspend;
  end
end

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


 




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


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

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