powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка один ко многим (с лимитом)
3 сообщений из 3, страница 1 из 1
Выборка один ко многим (с лимитом)
    #38467399
Zhazhah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, помогите пожалуйста с реализацией.
Есть таблицы со стандартной структурой:

Код: plaintext
1.
2.
post 
id, title
1   Заголовок


Код: plaintext
1.
2.
3.
4.
post_item
id, post, sort, image
1   1       2    img1.jpg
2   1       1    img2.jpg
3   1       0    img3.jpg

Можно ли, эффективно для каждой итерации получить по две картинки из таблицы post_item? Или лучше всего выбрать 2-ым запросом?

В идеале бы так:
Код: plaintext
1.
post, title,           image,     image2
1     Заголовок       img3.jpg   img2.jpg
...
Рейтинг: 0 / 0
Выборка один ко многим (с лимитом)
    #38467614
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
select p.*, i1.image, i2.image image2
from post p
left join post_item i1 on i1.post=p.id and i1.sort=0
left join post_item i2 on i2.post=p.id and i2.sort=1


Код: sql
1.
2.
3.
4.
5.
6.
7.
select
  p.*, 
  max(if(i.sort=0,i.image,null))image,
  max(if(i.sort=1,i.image,null))image2
from post p
left join post_item i on i.post=p.id
group by p.id
...
Рейтинг: 0 / 0
Выборка один ко многим (с лимитом)
    #38467697
Zhazhah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007
Код: sql
1.
2.
3.
4.
select p.*, i1.image, i2.image image2
from post p
left join post_item i1 on i1.post=p.id and i1.sort=0
left join post_item i2 on i2.post=p.id and i2.sort=1


Код: sql
1.
2.
3.
4.
5.
6.
7.
select
  p.*, 
  max(if(i.sort=0,i.image,null))image,
  max(if(i.sort=1,i.image,null))image2
from post p
left join post_item i on i.post=p.id
group by p.id



Спасибо большое, помогло)) А можно как либо получить тот же результат, но без sort=0, sort=1? Просто в реале все примерно так sort=15, sort=17
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка один ко многим (с лимитом)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]