| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > запрос артистов с подзапросами |
| Автор: mstdmstd 1.6.2015, 21:55 | ||
| Всем привет, Есть запрос в котором выбираются артисты кол-во обзоров к этим артистам и у скольких обзоров стоит пометка "inappropriate" :
И все хорошо и в inappropriateReviewsCount - сумма сколько именно обзоров с пометкой "inappropriate", но в данном запросе нужно сколько обзоров(wp_aaso_artists_reviews) имеют ссылку на "inappropriate" пометку, а не wp_aaso_artists_reviews_inappropriate . Как это лучше сделать? Спасибо! |
| Автор: Akina 1.6.2015, 22:48 |
| Лучше - грамотно поставить задачу. Дать DDL таблицы, репрезентативный набор данных и желаемый на этих данных результат с пояснениями, почему именно так. |
| Автор: mstdmstd 2.6.2015, 10:49 | ||
Таблицы
wp_aaso_artists - таблица артистов с ключевыми полями `ID`, `name` - все просто. wp_aaso_artists_reviews - таблица обзоров(review_text) к этим артист Связь с артистами поле artist_id - также все просто . wp_aaso_artists_reviews_inappropriate - таблица жалоб на обзоров выше, если есть строка - то есть жалоба. Создать в wp_aaso_artists_reviews будево или целое поле не подходит, так как нужно инфа, от кого жалоба. Первоначальный запрос читает СКОЛЬКО жалоб было на ревью артиста - что во многих случаях нужно. В данном случае СКОЛЬКО жалоб НЕ важно, но важно, на сколько ревью были жалобы, что и не получилось... Надеюсь, я все понятно изложил... |
| Автор: Akina 2.6.2015, 12:00 | ||
Теперь свяжите правильно эти три таблицы:
Похоже на правду? В такой отбор попадут исключительно обзоры, на которые была хотя бы одна жалоба. Чтобы их посчитать, достаточно сгруппировать правильно (в каком там разрезе нужна статистика - общее число? для каждого артиста?) и посчитать количество с отсевом дубликатов COUNT(DISTINCT). ЗЫ. Откорректируйте свой начальный пост и сделайте переносы строк, чтобы страницу не растягивало. |
| Автор: mstdmstd 3.6.2015, 09:16 | ||
| Спасибо за участие! Я немного изменил запрос и заместо звездочки указал какие поля счиьать с условием distict "distinct wp_aaso_artists_reviews_inappropriate.artist_review_id". И полностю запрос выглядит так:
Я проверил - работает т вроде подвохов нет Мне удобнее сделать с подзапросом - это конструктор и в зависимости от от выбранного фильтра подставляются разные поля |
| Автор: Akina 3.6.2015, 09:21 |
| Тормозить будет безбожно... но это твои проблемы. |