我有两张table A
以及 B
. 表a的列如下 PersonID
, MobileNumber
, PersonName
哪里 PersonID
以及 MobileNumber
是唯一的列。表b的列如下 ReportID
, PersonID
, Details
与 ReportID
作为唯一列。
每个人可以添加任意数量的具有不同属性的报告 ReportID
. 现在我的表b有许多报告,我想添加 MobileNumber
列到它。但是表b中有许多针对一个人的条目。我可以用什么查询 MobileNumber
从表a中,并将其填充到表b中 PersonID
? 查询应采用 MobileNumber
从表a中删除,然后将其添加到表b中 PersonID
列。
例子
表a
PersonID | MobileNumber | PersonName
P1 9999999999 John
P2 8888888888 Mack
P3 7777777777 Jack
P4 6666666666 Mike
表b
ReportID | PersonID | Details | MobileNumber
R1 P1 .....
R2 P2 .....
R3 P2 .....
R4 P3 .....
R5 P3 .....
R6 P3 .....
R7 P4 .....
R8 P4 .....
我可以用什么查询来填充手机号码并得到如下结果?
预期结果
ReportID | PersonID | Details | MobileNumber
R1 P1 ..... 9999999999
R2 P2 ..... 8888888888
R3 P2 ..... 8888888888
R4 P3 ..... 7777777777
R5 P3 ..... 7777777777
R6 P3 ..... 7777777777
R7 P4 ..... 6666666666
R8 P4 ..... 6666666666
附言:
我不想选择值作为新表。我想使用update填充原始表本身中的值
3条答案
按热度按时间gmxoilav1#
您应该使用join语句来实现这一点。更具体地说,左外连接如下
我不想选择值作为新表。我想使用update填充原始表本身中的值,基于此,您可以使用如下语句
如果tableb中不存在该列,则需要激发上述alter语句
lrl1mhuk2#
您可以使用以下查询来实现这一点:
xvw2m8pv3#
更新
DhruvJoshi's
以及Mittal's
答:我可以使用下面的查询来解决我的问题。