Объединять две консультации и упорядочивать в MYSQL

Я нуждаюсь в том, чтобы получить данные о таблице info, упорядочивать их первый 6 месяцев и объединять данные о таблице истории where tipo=1 после другие 6 остальных месяцев и where tipo=2.

Я не знаю, возможно объединять ли в консультации MySQL или объединять их в том же array PHP.

Я хотел бы объединить эти две консультации.

SELECT * FROM info WHERE id_cli=10

SELECT cli_id,fecha_top,calculo FROM historia WHERE cli_id=10 and tipo between 1 and 2

introducir la descripción de la imagen aquí

3
задан 09.08.2019, 23:38
1 ответ

То, что ты можешь делать:

  • Один UNION из обоих SELECT
  • Создавать колонны с прозвищем для данных, которые не существуют в других подмостках (ej: "" as calculo)
  • , Для того, чтобы, упорядочив все реестры, и что реестры таблицы historia остались под "первыми 6 месяцами", он может создавать один IF(tipo = 1, 6, 12) AS mes
  • , В конце концов достаточно упорядочить все реестры из-за колонны mes

Пример:

(SELECT id_cli, nombre, fecha, mes, descripcion, bono, "" as calculo, valor
   FROM info 
   WHERE id_cli=10)
UNION ALL
(SELECT cli_id, "", fecha, IF(tipo = 1, 6, 12) AS mes, "", "", calculo, ""
   FROM historia 
   WHERE cli_id=10 
       AND tipo IN (1,2))
ORDER BY mes ASC

Demo

5
ответ дан 01.12.2019, 22:19

Теги

Похожие вопросы