Поочередная выборка из двух таблиц

Илья22

Новичок
Есть две таблицы, одна с записями фотосодержания table_photo, а другая с записями видеосодержания table_video.
Нужно выводить последние записи из table_photo и table_video по очередно.
То есть на странице All будет смесь последнего видео и фото контента.

Как сделать один запрос, чтобы получить корректные массивы, например так:
PHP:
Array
(
    [0] => Array // последняя запись из таблицы table_photo
        (
            [id_photo] => 18
            [content] => ifmpv3Ha.jpg
        )

    [1] => Array // последняя запись из таблицы table_video
        (
            [id_video] => 5
            [content_video] => Mqwdila8.mp4
        )

    [2] => Array // ПРЕДпоследняя запись из таблицы table_photo
        (
            [id_photo] => 16
            [content] => 0d0J9piP.jpg
        )

    [3] => Array // ПРЕДпоследняя запись из таблицы table_video
        (
            [id_video] => 2
            [content_video] => 2eaJFFqE.mp4
        )
    ...
)
Примечание: количество записей из таблицы table_photo не обязательно должно соответствовать количеству записей из таблицы table_video
 

SiZE

Новичок
Сделайте два запроса, данные запишите в два массива, потом массивы объедините как вам угодно. Можете использовать UNION если хочется.
 

Вурдалак

Продвинутый новичок
Если возникают такие вопросы, то стоило бы задуматься об одной таблице, содержащей доп. поле с типом контента.
 

Илья22

Новичок
У вас лимит на количество запросов?
Нет.

Сделайте два запроса, данные запишите в два массива, потом массивы объедините как вам угодно. Можете использовать UNION если хочется.
Итак сейчас делаю два запроса, потом объединяю массивы, потом сортирую... = геморой.
Подскажите как с UNION ?

Если возникают такие вопросы, то стоило бы задуматься об одной таблице, содержащей доп. поле с типом контента.
Изначально от этого пришлось отказаться. Получится каша в таблице, так как много полей для хранения разного типа информации у фотогалерей и видео галерей (я привел в примере только два), тем более со временем планируется добавить еще другого рода галереи.
 

С.

Продвинутый новичок
Итак сейчас делаю два запроса, потом объединяю массивы, потом сортирую... = геморой.
Подскажите как с UNION ?
С UNION будет еще больше геморроя.
 

WMix

герр M:)ller
Партнер клуба
как бы там нибыло, в UNION имена и колличество полей должны быть одинаковыми
select id as my_id, content as my_content 'video' as type from .. where ..
union
select nr as my_id, description as my_content 'image' as type 0...
union
...

по мне совершенно неважно что спрятано за моделью, и каким образом происходит выборка данных..
важно что $model->getData() возвращает 2D array
 

prolis

Новичок
1. Пронумеровать в обратном порядке
Код:
set @n:=0;
select @n:=@n+1 as rownum, 0 as content_type, t.* from t order by id desc;
2.юнион обе таблицы с сортировкой по rownum, content_type
 
Сверху