mysql将其它三张表中列名为门店名称的数据插入到门店信息表中列名为门店名称的列里
时间: 2024-09-15 22:11:51 浏览: 51
MySQL中将其他三张表中的“门店名称”列数据插入到“门店信息”表的“门店名称”列中,可以使用`INSERT INTO SELECT`语句实现。假设这三张表分别为table1、table2和table3,对应的字段名都是`store_name`,而目标表是`store_info`,其对应字段也是`store_name`,那么SQL命令可以如下编写:
```sql
INSERT INTO store_info (store_name)
SELECT store_name
FROM (
SELECT store_name FROM table1
UNION ALL
SELECT store_name FROM table2
UNION ALL
SELECT store_name FROM table3
) AS combined_tables;
```
这个查询首先分别从三个源表中选择`store_name`列,然后使用UNION ALL操作合并结果,最后将合并后的所有`store_name`值插入到`store_info`表的`store_name`列。
相关问题
mysql往一张新表里插入另外三张表的门店名称列
在MySQL中,如果你想将另外三张表的门店名称列合并到一张新的表中,可以使用`UNION ALL`、`JOIN`或者是`INSERT INTO SELECT`语句。这里假设这三张表分别为table1、table2和table3,它们都有一个名为store_name的字段。
1. 使用 `UNION ALL` (如果所有表结构完全一样):
```sql
CREATE TABLE new_table AS
SELECT store_name FROM table1
UNION ALL
SELECT store_name FROM table2
UNION ALL
SELECT store_name FROM table3;
```
这会创建一个新的表new_table,包含所有三张表的store_name数据,没有去重。
2. 如果需要保留唯一值,可以使用 `UNION`:
```sql
CREATE TABLE new_table AS
SELECT DISTINCT store_name FROM table1
UNION
SELECT store_name FROM table2
UNION
SELECT store_name FROM table3;
```
3. 使用 `JOIN` 结合所有表的数据:
```sql
CREATE TABLE new_table AS
SELECT t1.store_name
FROM table1 t1
UNION ALL
SELECT t2.store_name
FROM table2 t2
UNION ALL
SELECT t3.store_name
FROM table3 t3;
```
但这需要确保每一行在每个表中都有对应的唯一标识。
4. 使用 `INSERT INTO SELECT` 直接复制数据:
```sql
CREATE TABLE new_table (
-- 新表的其他字段...
);
INSERT INTO new_table (store_name)
SELECT store_name FROM table1
UNION ALL
SELECT store_name FROM table2
UNION ALL
SELECT store_name FROM table3;
```
记得先创建new_table,并且如果新表有其他的字段,也需要同时插入。
引用第一张表的列名
如果需要引用第一张表的列名,可以使用 `df1.columns` 获取第一张表的列名,例如:
```
df1 = pd.read_excel('附件一:2022年12月末存量公司客户管户认领情况表__海沧-1.xlsx')
result = pd.DataFrame()
for file in ['附件二:2023年3月末新拓公司客户管户认领情况表__海沧-1.xlsx']:
df = pd.read_excel(file)
# 引用第一张表的列名
df.columns = df1.columns
result = pd.concat([result, df], ignore_index=True)
df = pd.merge(df1, result, on=[ '所属管辖行', '网点名称', '客户编号', '客户名称', '一级支行对公部/网点维护标识', '管户人员统一认证号', '管户人员', '管户人员岗位', '管户权重'], how='outer')
df.to_excel('new_table.xlsx', index=False)
```
这样就可以将第二张表的列名改为第一张表的列名,保证合并的列名一致。
阅读全文