Объединение нескольких запросов в один

168
14 января 2019, 17:20

Можно ли из 3 разных запросов объединить в один, если они не связаны? Чтобы в одном select была примерно такая информация:

t1.name|t1.count|t2.name|t2.count|t3.name|t3.count
Answer 1

Вам в любом случае придётся присоединять, поэтому можно попробовать через нумерацию строк через переменную, пример:

select c.name, c.cnt,
    p.name, p.cnt,
    b.name, b.cnt
from
   /* Делаем нумерацию строк, с чем потом будем соединять */
    (select @curRow1 := @curRow1 + 1 AS row_number 
     from cheese JOIN (SELECT @curRow1 := 0) r
     union
     select @curRow2 := @curRow2 + 1 AS row_number 
     from potato JOIN (SELECT @curRow2 := 0) r
     union
     select @curRow3 := @curRow3 + 1 AS row_number 
     from banana JOIN (SELECT @curRow3 := 0) r
    ) m
    /* Присоединяем по очереди таблицы */
    left join
        (select c.*,
            @curRowC := @curRowC + 1 AS row_number
         from cheese c
            JOIN (SELECT @curRowC := 0) r
         ) c on m.row_number = c.row_number
    left join
        (select c.*,
            @curRowP := @curRowP + 1 AS row_number
         from potato c
            JOIN (SELECT @curRowP := 0) r
         ) p on m.row_number = p.row_number
    left join
        (select c.*,
            @curRowB := @curRowB + 1 AS row_number
         from banana c
            JOIN (SELECT @curRowB := 0) r
         ) b on m.row_number = b.row_number

Пример вывода на бананах, сырах и картошки:

db-fiddle с бананами, сыром и картошкой

READ ALSO
Функция для разности timestamp - timestamp

Функция для разности timestamp - timestamp

Есть табличка events, в нее пишутся все события связанные с обьектом, структура следующая: id, object_id, timestamp, event_type, action

171
Изменения без перезагрузки

Изменения без перезагрузки

Допустим у меня есть файл testhtml

161
Оцените код верстки блока по сетке

Оцените код верстки блока по сетке

Написал вот такой страшненький код:

208
Проблемы с модальным окном

Проблемы с модальным окном

http://prntscrcom/kykulc При нажатии на кнопку "заказать звонок появляется " затемнение, но основной блок и кнопка, продолжают подсвечиваться

163