MySQL объединяет 2 запроса в одну таблицу - PullRequest
0 голосов
/ 31 октября 2018

Привет, я пытаюсь объединить следующие запросы в одну таблицу

Первый запрос

SET @row_number = 0;

SELECT 
    (@row_number:=@row_number + 1) AS Batch, t_stamp as Date, Total
FROM
    food
ORDER BY t_stamp ASC
LIMIT 45

Второй запрос

SET @row_number = 45;
SELECT 
    (@row_number:=@row_number + 1) AS Batch, t_stamp as Date, Total
FROM
    food
ORDER BY t_stamp ASC
LIMIT 50, 45

Что я хочу достичь, это таблица, как показано ниже

Batch |  Date  |  Total  |     Batch  |  Date     |  Total
 1      9.00am      10          46      12.30pm       10 
 2      10.00am     10          47      1.00pm        10
 -                            -
 45     12.00pm     10          90      2.00pm        10

Любые предложения будут великолепны. Спасибо

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Вы можете попробовать использовать UNION ALL для объединения двух наборов данных

SET @row_number = 0;
SET @row_number1 = 45;

select * from
(SELECT 
    (@row_number:=@row_number + 1) AS Batch, t_stamp as Date, Total
FROM
    food
ORDER BY t_stamp ASC
LIMIT 45
)A
union all

select * from
(
SELECT 
    (@row_number1:=@row_number1 + 1) AS Batch, t_stamp as Date, Total
FROM
    food
ORDER BY t_stamp ASC
LIMIT 50, 45
)
B
0 голосов
/ 31 октября 2018

Попробуйте объединить два подзапроса:

SET @rn1 = 0;
SET @rn2 = 0;

SELECT
    t1.Batch, t1.Date, t1.Total, t2.Batch, t2.Date, t2.Total
FROM
(
    SELECT 
        (@rn1:=@rn1 + 1) AS Batch, t_stamp AS Date, Total
    FROM food
    ORDER BY t_stamp
    LIMIT 45
) t1
INNER JOIN
(
    SELECT 
        (@rn2:=@rn2 + 1) AS Batch, t_stamp AS Date, Total
    FROM food
    ORDER BY t_stamp
    LIMIT 50, 45
) t2
    ON t1.Batch = t2.Batch
ORDER BY
    t1.Date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...