Как объединить два запроса MySQL в один массив?

0

У меня есть два запроса mysql следующим образом

$sql1 = mysqli_query($mysqli, "SELECT * FROM manualp WHERE client_id=75 AND date between '$currentdate' and '$prevdate' ");

$sql2=mysqli_query($mysqli, "SELECT * FROM manualp WHERE client_id=75 order by date DESC LIMIT 1");

Есть ли способ присоединиться к ним вместе? и получить их в массиве. Например, оба запроса объединены в $ sql3. Я хотел бы опубликовать результат, имеющий значение $ sql2, показывающее последние

while($result = mysqli_fetch_array($sql3)) { 

POST RESULTS HERE
}
  • 0
    Почему бы не использовать SQL UNION?
  • 0
    Можете ли вы дать мне пример? Я не знаком с этим
Показать ещё 3 комментария
Теги:

1 ответ

0

Основываясь на ваших комментариях, потому что вы используете ORDER BY и LIMIT в своем запросе, вам действительно нужно обернуть этот второй запрос в подзапрос, чтобы выполнить UNION.

SELECT * FROM manualp WHERE client_id=75 AND date between '$currentdate' and '$prevdate' 
UNION 
SELECT * FROM (SELECT * FROM manualp WHERE client_id=75 order by date DESC LIMIT 1) t1
  • 0
    Это решает это. Но главная проблема в том, что данные из второй части повторяются с 1-й частью. Когда я запускаю цикл while, данные из 2-го запроса отображаются везде с данными из 1-го.
  • 0
    Ну, да, это было бы точкой объединения в SQL, объединяя их всех в один набор результатов. Твой вопрос не был ясен, что ты нуждался в них также. Если они вам нужны по отдельности, SQL UNION - не тот путь. Существует множество способов сделать это в PHP, один из которых - добавить все результаты в один массив.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню