SQL 从 2 个表中插入数据
SQL INSERT data from 2 tables
我有 2 个 table,postcodelatlng
和 branch
。
postcodelatlng
邮政编码
纬度
lng
AB10 1XG
57.1441650
-2.1148480
AB10 6RN
57.1378800
-2.1214870
AB10 7JB
57.1242740
-2.1271900
AB10 5QN
57.1427010
-2.0932950
AB10 6UL
57.1375470
-2.1122330
branch
分支机构
邮政编码
1
ZE2 9TL
4
BB1 7DJ
9
YO8 9DW
我正在尝试为 branch
中的每个邮政编码创建一个新的 table,它会列出 postcodelatlng
中的每个邮政编码。
New table
来自
至
from_lat
from_lng
to_lat
to_lng
ZE2 9TL
AB10 1XG
60.4481370
-1.1943700
57.1441650
2.1148480
ZE2 9TL
AB10 6RN
60.4481370
-1.1943700
57.1378800
-2.1214870
ZE2 9TL
AB10 7JB
60.4481370
-1.1943700
57.1242740
-2.1271900
ZE2 9TL
AB10 5QN
60.4481370
-1.1943700
57.1427010
-2.0932950
ZE2 9TL
AB10 6UL
60.4481370
-1.1943700
57.1375470
-2.1122330
BB1 7DJ
AB10 1XG
53.7490640
-2.4843190
57.1441650
2.1148480
BB1 7DJ
AB10 6RN
53.7490640
-2.4843190
57.1378800
-2.1214870
BB1 7DJ
AB10 7JB
53.7490640
-2.4843190
57.1242740
-2.1271900
BB1 7DJ
AB10 5QN
53.7490640
-2.4843190
57.1427010
-2.0932950
BB1 7DJ
AB10 6UL
53.7490640
-2.4843190
57.1375470
-2.1122330
YO8 9DW
AB10 1XG
53.7743390
-1.0714240
57.1441650
2.1148480
YO8 9DW
AB10 6RN
53.7743390
-1.0714240
57.1378800
-2.1214870
YO8 9DW
AB10 7JB
53.7743390
-1.0714240
57.1242740
-2.1271900
YO8 9DW
AB10 5QN
53.7743390
-1.0714240
57.1427010
-2.0932950
YO8 9DW
AB10 6UL
53.7743390
-1.0714240
57.1375470
-2.1122330
我已经尝试在 Python 中使用 Pandas 和 SQLAlchemy 进行此操作,但我无法理解这一点,所以我认为这样做可能更容易它在 SQL 中,但我也坚持这一点!
lat/lng 数据仅保存在 postcodelatlng
中,但可以手动将其添加到 branch
table(那里只有 42 个独特的邮政编码(一些分支共享邮政编码))
我在 branch
有 120 条记录,在 postcodelatlng
.
有 42 个独特的邮政编码和 1778786 条记录
通过无条件加入,达到了所需的 table,但我不知道 from_lat 和 from_lng
的值
insert into newtable
select b.postcode,p.postcode,"from_lat = ?","from_lng = ?",p.lat,p.lng
from branch b join postcodelatlng p on 1 = 1
或交叉连接
insert into newtable
select b.postcode,p.postcode,"from_lat = ?","from_lng = ?",p.lat,p.lng
from branch b cross join postcodelatlng p
我有 2 个 table,postcodelatlng
和 branch
。
postcodelatlng
邮政编码 | 纬度 | lng |
---|---|---|
AB10 1XG | 57.1441650 | -2.1148480 |
AB10 6RN | 57.1378800 | -2.1214870 |
AB10 7JB | 57.1242740 | -2.1271900 |
AB10 5QN | 57.1427010 | -2.0932950 |
AB10 6UL | 57.1375470 | -2.1122330 |
branch
分支机构 | 邮政编码 |
---|---|
1 | ZE2 9TL |
4 | BB1 7DJ |
9 | YO8 9DW |
我正在尝试为 branch
中的每个邮政编码创建一个新的 table,它会列出 postcodelatlng
中的每个邮政编码。
New table
来自 | 至 | from_lat | from_lng | to_lat | to_lng |
---|---|---|---|---|---|
ZE2 9TL | AB10 1XG | 60.4481370 | -1.1943700 | 57.1441650 | 2.1148480 |
ZE2 9TL | AB10 6RN | 60.4481370 | -1.1943700 | 57.1378800 | -2.1214870 |
ZE2 9TL | AB10 7JB | 60.4481370 | -1.1943700 | 57.1242740 | -2.1271900 |
ZE2 9TL | AB10 5QN | 60.4481370 | -1.1943700 | 57.1427010 | -2.0932950 |
ZE2 9TL | AB10 6UL | 60.4481370 | -1.1943700 | 57.1375470 | -2.1122330 |
BB1 7DJ | AB10 1XG | 53.7490640 | -2.4843190 | 57.1441650 | 2.1148480 |
BB1 7DJ | AB10 6RN | 53.7490640 | -2.4843190 | 57.1378800 | -2.1214870 |
BB1 7DJ | AB10 7JB | 53.7490640 | -2.4843190 | 57.1242740 | -2.1271900 |
BB1 7DJ | AB10 5QN | 53.7490640 | -2.4843190 | 57.1427010 | -2.0932950 |
BB1 7DJ | AB10 6UL | 53.7490640 | -2.4843190 | 57.1375470 | -2.1122330 |
YO8 9DW | AB10 1XG | 53.7743390 | -1.0714240 | 57.1441650 | 2.1148480 |
YO8 9DW | AB10 6RN | 53.7743390 | -1.0714240 | 57.1378800 | -2.1214870 |
YO8 9DW | AB10 7JB | 53.7743390 | -1.0714240 | 57.1242740 | -2.1271900 |
YO8 9DW | AB10 5QN | 53.7743390 | -1.0714240 | 57.1427010 | -2.0932950 |
YO8 9DW | AB10 6UL | 53.7743390 | -1.0714240 | 57.1375470 | -2.1122330 |
我已经尝试在 Python 中使用 Pandas 和 SQLAlchemy 进行此操作,但我无法理解这一点,所以我认为这样做可能更容易它在 SQL 中,但我也坚持这一点!
lat/lng 数据仅保存在 postcodelatlng
中,但可以手动将其添加到 branch
table(那里只有 42 个独特的邮政编码(一些分支共享邮政编码))
我在 branch
有 120 条记录,在 postcodelatlng
.
通过无条件加入,达到了所需的 table,但我不知道 from_lat 和 from_lng
的值insert into newtable
select b.postcode,p.postcode,"from_lat = ?","from_lng = ?",p.lat,p.lng
from branch b join postcodelatlng p on 1 = 1
或交叉连接
insert into newtable
select b.postcode,p.postcode,"from_lat = ?","from_lng = ?",p.lat,p.lng
from branch b cross join postcodelatlng p