在每个机构中,我的数据库中有多个具有不同列号的表。除了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;
?>
请帮助谢谢
答案 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子句:)