组合2个表,并按日期字段对它们进行排序,并将结果输出为列表


Combine 2 tables and sort them by date field and output the result as a list

如何将两个表按日期排序并输出到列表中?这是我目前拥有的。

列表中的日期应为此格式2015-06-27 23:00

SELECT date, name, quantity, FROM downloads ORDER BY(`Date`) DESC
SELECT date, name, quantity, price, FROM sales ORDER BY(`Date`) DESC

$result_sales = $mysqli->query($sql_sales);
while($row = $result_sales->fetch_assoc()){
       $sale = rown["quantity"];
       $name = row["name"]; 
       $date_str = strtotime($row["date"]);
       $year = date('Y', $date_str);
       $month = date('n', $date_str) - 1;
       $day = date('j', $date_str);
       $hour = date('H', $date_str);
       $minute = date('i', $date_str);
       $ans_sales = " " . sprintf('%s, %s, %s, %s, %s',$year,$month,$day,$hour,minute) . " - ".  $name ." - " .  $sale . " - Sale Added";
       echo $ans_sales . ",'r'n";
}
SELECT date, name, quantity, 0 as price FROM downloads
union all
SELECT date, name, quantity, price FROM sales
ORDER BY(`Date`) DESC

使用查询创建一个mysql VIEW"VIEW_all">

SELECT 
        date, 
        name, 
        quantity,
        null as price
    FROM downloads 
    UNION ALL
    SELECT 
        date, 
        name, 
        quantity, 
        price
    FROM sales 

然后执行

从'view_all'中选择*ORDER BY(date(DESC;

移除FROM附近的,

SELECT date, name, quantity, price, FROM sales ORDER BY(`Date`) DESC
                                  ^^

对于组合两个表,请使用UNION ALL

(SELECT date, name, quantity FROM downloads ORDER BY `Date` DESC)
UNION ALL
(SELECT date, name, quantity, price FROM sales ORDER BY `Date` DESC)

ORDER BY `Date` DESC