从具有不同列号的两个表中获取数据,并根据日期

时间:2016-07-03 19:23:17

标签: php html

在每个机构中,我的数据库中有多个具有不同列号的表。除了id和date之外,表没有任何公共列名。如果这是一个问题,我也可以改变它们。现在问题是我想从这个表中获取行并按日期排序。我写这段代码 //表1

1,car1,2016-07-02 00:00:00,price1,engine1
2,car2,2016-07-05 00:00:00,price2,engine2
3,car3,2016-07-07 00:00:00,price3,engine3
4,car4,2016-07-08 00:00:00,price4,engine4

//表2

1,home1,2016-07-03 00:00:00
2,home2,2016-07-06 00:00:00
3,home3,2016-07-09 00:00:00

//导致

1,car1,2016-07-02 00:00:00,price1,engine1
2,home1,2016-07-03 00:00:00,
3,car2,2016-07-05 00:00:00,price2,发动机
4,home2,2016-07-06 00:00:00,
5,car3,2016-07-07 00:00:00,price3,engine3
6,car4,2016-07-08 00:00:00,price4,engine4
7,home3,2016-07-09 00:00:00,

我写了这段代码,但效果不好

<?php
error_reporting(0);

$mysqli=NEW MySQLI("localhost","root","","database");
mysqli_query($mysqli,"SET NAMES 'utf8'");
mysqli_query($mysqli,"SET character_set_connection='utf8'");
$resultset= $mysqli->query("SELECT table1.*,table2.*
	   FROM table1 JOIN table2");
	   echo $resultset->num_rows;
?>

请帮助谢谢

1 个答案:

答案 0 :(得分:0)

我不知道您的列名,但是应该这样做:

select column_car, column_date, column_price, column_engine from table1
union
select column_home as column_car, column_date, NULL as column_price, NULL as column_engine from table2

在第二个选项中,我将NULL归为价格引擎,以便两个选项都具有 相同的结果集

使用union时,两个select语句必须具有相同的列名和类型。

您可以根据需要指定每个选择中的where子句或全局where子句:)