|
|
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Есть таблица товаров (`prods`): `prod_id`, `prod_name`, `prod_desc` и т.д... И таблица отзывов о товарах (`reviews`): `rev_id`, `rev_prod`, `rev_rating`, `rev_text` и т.д... Связь: `reviews`.`rev_prod` => `prods`.`prod_id` В поле `rev_rating` пишется "оценка" товара (число от 0 до 5) Мне нужно получить одним запросом среднюю оценку по каждому товару... Я пробовал так: Код: sql 1. Но в результате получаю только один товар... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 10:12 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
atillus, добавьте в конец запроса : group by prod_id`, `prod_name`, `prod_desc` ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 10:28 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
Анна, да, так он отдает все товары, но рейтинг одинаков, т.е. он не считает по каждому AVG()... Тут что-то сложнее по-видимому, какие-то подзапросы нужно использовать... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 10:45 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
atillus, условия соединения таблиц ещё требуется указать. иначе у вас получается декартово произведения - каждая строка из prods соединяется со всеми строками из reviews. в итоге - по каждому товару имеем полный набор отзывов, даже тех, которые к этому товару не относятся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:06 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
atillus, пока ещё не привыкли к плохому - сразу учитесь писать соединения источников данных через JOIN, а не через "запятую" + условия в where. то есть, у вас должен получится запрос примерно такой структуры: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:09 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
atillusМне нужно получить одним запросом среднюю оценку по каждому товару...А если на товар нет отзывов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:13 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
Анна, спасибо. Прояснилось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:20 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
Akina, если нет отзывов, то и рейтинга пока нет... или эти товары вообще не попадут в выдачу при таком запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 11:23 |
|
||
|
Помогите составить запрос!
|
|||
|---|---|---|---|
|
#18+
atillusAkina, если нет отзывов, то и рейтинга пока нет... или эти товары вообще не попадут в выдачу при таком запросе?не попадут вообще. если они нужны, но с нулевым рейтингом, то читать про внешние ([LEFT | RIGHT] {OUTER} JOIN) соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2018, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39672434&tid=1829733]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 374ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...