|
|
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Есть 2 таблицы 1 таблица - Объявления 2 таблица содержит изображения к объявлениям. Мне нужно в одном запросе выбрать все объявления и к каждому объявлению выбрать только 1 изображение из 2 таблицы(поле image_path). Таблица 1 - ads поля id,text Таблица 2 - image_ads поля id,id_ads,image_path Пробую: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Неработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:02:03 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
paha4444, Доку по джойнам - читали? И не будет работать. В Мускуле нет коррелированных подзапросов в секции from. В подзапрос воткните первую таблицу ишо раз и там тогда можно будет сделать лимит. Только чем он вам "там" поможет - ума не приложу. Правильнее сделать простой левый джойн со второй таблицей и сгруппировать по первой, оставив из второй одно изображение через мин или макс номер (первое или последнее, как нравится). Или нумеровать все и брать по заданному номеру (читайте фак по нумерации записей). как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:18:00 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Вот группирую по первой Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Неработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:26:08 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
paha4444, а что пишет? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:27:37 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
Все, сделал! Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Надо было добавить в SELECT ads.id, и внизу перед LIMIT GROUP BY ads.id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:33:19 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
paha4444, нет "не всё". При группировке, если не указан агрегат, Мускуль выберет "первый попавшийся", что потом легко выйдет вам "боком". Уж будьте так добры, перечитайте вторую часть совета: поставьте выборку Min() или MAX() идента картинки. А ежели, остальные таблички могут тоже выдать "больше одной записи", то и к ихним полям надо прилепить агрегатные функции. Иначе, вам на зачете - ручки пообрывают. И правильно сделают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:36:37 |
|
||
|
Помогите составить запрос.
|
|||
|---|---|---|---|
|
#18+
paha4444, sqlfiddle.com/#!2/ccd02/2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.08.2013, 22:43:18 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38360259&tid=1836287]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 329ms |

| 0 / 0 |
