Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2011, 11:27   #1
Yulkaaa
Новичок
Джуниор
 
Регистрация: 28.09.2011
Сообщений: 1
По умолчанию MySql запрос

Уважаемые специалисты помогите составить запрос... не зна даже с какого боку подойти... буду благодарна за любой совет.. Сдать надо до завтра в универе, иначе отчислят =(((

Запрос: Для всех существующих тэгов - число публикаций с данным тэгом в
подписках пяти самых активных подписчиков (подписчиков с наибольшим числом
подписок).

Схема данных во вложении.
Изображения
Тип файла: gif publish_and_subscribe_model.gif (15.1 Кб, 37 просмотров)
Yulkaaa вне форума Ответить с цитированием
Старый 28.09.2011, 15:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка. Проверить ессно не на чем
Код:
select 
  s1.Start_date,s1.end_date,s1.other_details,
  s2.subscriber_details,
  t.tag_description,t.eg (Или че там за поля такие...)
  p.publication_details, (ну и остальные нужные поля)
  p2.Publisher_details 
  t2.tag_description,t2.eg (Или че там за поля такие...)

from Subscriptions s1
 left join Subscribers s2 on (s1.Subscriber_id=s2.Subscriber_id)
 left join Subscriber_Interests si on (s1.Subscriber_id=si.Subscriber_id)
 left join Tags t on (t.tag_word=si.tag_word)

 left join Publications p on (s1.publication_id=p.publication_id)
 left join Publishers p2 on (p.publisher_id=p2.publisher_id)
 left join Publications_tags pt on (pt.publication_id=p.publication_id)
 left join Tags t2 on (t2.tag_word=pt.tag_word)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2011, 15:24   #3
Junsui
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 12
По умолчанию

Тоже "с потолка", но наверно работает
Код:
SELECT COUNT(P.PUBLICATION_ID) COUNT_PUBLICATION, T.TAG_WORD, T.TAG_DESCRIPTION
  FROM TAGS T,
       PUBLICATIONS_TAG P,
       SUBSCRIBER_INTERESTS I,
       (SELECT S.SUBSCRIBER_ID, COUNT(B.SUBSCRIPTION_ID)
          FROM SUBSCRIBERS S, SUBSCRIPTIONS B
         WHERE S.SUBSCRIBER_ID = B.SUBSCRIBER_ID
         GROUP BY S.SUBSCRIBER_ID
         ORDER BY COUNT(S.SUBSCRIBER_ID) DESC LIMIT 5) A
 WHERE A.SUBSCRIBER_ID = I.SUBSCRIBER_ID
   AND T.TAG_WORD = I.TAG_WORD
   AND T.TAG_WORD = P.TAG_WORD
 GROUP BY T.TAG_WORD, T.TAG_DESCRIPTION
p.s. Хотя могла неверно задание истолковать

Последний раз редактировалось Junsui; 28.09.2011 в 15:29.
Junsui вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос mysql nitrofox PHP 1 27.08.2011 09:58
Запрос mysql Furyon PHP 1 29.04.2011 14:20
MySQL запрос HaosMan SQL, базы данных 1 08.11.2009 16:21
Запрос в MySQL MasterofCDM БД в Delphi 5 03.12.2008 16:58
запрос к mysql wall66 PHP 6 03.11.2008 22:49