【发布时间】:2020-06-15 12:00:53
【问题描述】:
如何将两张表合并为一张表?
例如,假设我有一个名为 person 的表,其中包含 first_name 和 last_name,gender,然后我有另一个名为 person_d 的表,其中包含 first_name、last_name、电话和电子邮件。
新表应包含名字、姓氏、电话和电子邮件、性别
但我想通过使用条件以自动方式执行此操作,甚至不知道字段名称是什么
这可能是用 sql 还是我必须用 php 来做? 我认为我可以创建 php 脚本并将字段名称放入两个数组中,然后比较双精度并将它们添加到新数组并删除它们,之后我们将拥有没有双精度的数组 这是我的代码
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "mydb";
//mysql and db connection
$db = new mysqli($servername, $username, $password, $dbname);
if ($db->connect_error) { //error check
die("Connection failed: " . $con->connect_error);
} else {
}
$query1 = $db->query("SELECT * FROM tablename1");
$query2 = $db->query("SELECT * FROM tablename2");
$table1 = array();
$table2 = array();
$newtable = array();
while ($property = mysqli_fetch_field($query)) { //fetch table field name
array_push($table1,$property->name);
}
while ($property = mysqli_fetch_field($query)) { //fetch table field name
array_push($table2,$property->name);
}
foreach($table1 as $field1) {
foreach($table2 as $field2) {
if ($field1==$field2)
{
array_push($newtable,$field1);
unset($table1[$field1]);
unset($table1[$field2]);
}
}
}
然后我创建新表,并排排列来自数组的字段
这是最好的方法还是有其他方法可以做到这一点?
【问题讨论】:
-
请不要只求我们为您解决问题。向我们展示您是如何尝试自己解决问题的,然后向我们确切展示结果是什么,并告诉我们您为什么觉得它不起作用。向我们明确解释什么不起作用并提供a Minimal, Complete, and Verifiable example。阅读How to Ask 一个好问题。请务必take the tour 并阅读this。
-
为什么要 - 第二个表似乎包含第一个表中的所有内容?
-
我之前试过写一些代码,我会编辑我的问题并向你展示我做了什么
-
@AbdessamadBen- 请清除一件事,您是否需要在新表中使用两次 last_name 而只需要一次 first_name?
-
这只是一个复制粘贴错误,我会纠正的,谢谢