我有一个名为atp2的mysql数据库。基本上它拥有过去7年所有网球比赛的所有成绩。但每年都在不同的表格下。所以我有7张桌子。 2010年,2011年,2012年,2013年,2014年,2015年,2016年,2017年。但每次我想运行一个问题,我想一次在所有表上运行它。所以我做了这样的connection.php。从一个mysql中选择多个表
$db = new mysqli("xxx", "xxx", "xxx", "2012");
有没有一种方法可以在connection.php中选择所有的表格,而不必一一选择它们?所有列名在表中都是相同的。如果还有其他的方式比较简单,比如加入所有表格,我也可以这样做,但是我必须每天都能够做到这一点,因为2017年的表格每天都会更新。
根据下面的评论,我也有一个head2head.php,我想比较两名球员之间的每场比赛。
<br>
<?php echo "Here are the matches " . $_POST[Player1] . " won vs " . $_POST[Player2]; ?> <br>
<?php
$sql = <<<SQL
select from (SELECT *
FROM 2012
union all
SELECT *
FROM 2013
union all
SELECT *
FROM 2014
union all
SELECT *
FROM 2015
union all
SELECT *
FROM 2016
union all
SELECT *
FROM 2017)
WHERE t.Winner = "$_POST[Player1]"
AND t.Loser = "$_POST[Player2]"
SQL;
if(!$result = $conn->query($sql)){
die('There was an error running the query [' . $conn->error . ']');
}
// Output the rows
while($row = $result->fetch_assoc()){
echo $row[winner_name] . "-" . $row[loser_name] . "<br/>";
}
?>
是的,你在使用JOINS的查询中执行此操作https://en.wikipedia.org/wiki/Join_(SQL) –
考虑修改你的模式,使用一个表而不是七个 – Strawberry