为什么update语句只为一个SQL值设置

为什么update语句只为一个SQL值设置,sql,sql-server,Sql,Sql Server,因此,我有以下两个表格 PRICE_TABLE FACT_TABLE P_ID P_ID 1 0 2 0 3 0 ... .... 我想用价格表中的相应值更新事实表p\u ID。我尝试使用update语句 UPDATE FACT_TABLE SET P_I

因此,我有以下两个表格

PRICE_TABLE             FACT_TABLE
P_ID                    P_ID
1                       0    
2                       0
3                       0
...                     ....
我想用
价格表
中的相应值更新
事实表
p\u ID
。我尝试使用update语句

UPDATE FACT_TABLE SET P_ID = pt.P_ID FROM PRICE_TABLE AS pt
但这只是将第一个值放入
事实\u表中的所有行中

FACT_TABLE
    P_ID                    
    1                           
    1                       
    1                       
    ...                     

是否有一个标识符来链接记录,或者您只是想更新其存储顺序中的ID(这在两个表中不一定相同)除了ID字段本身,没有公共标识符-我打算稍后将ID作为外键,但现在只是尝试填充它们;插入事实表,从价格表中选择P\U ID;我也尝试过这种方法,但是我完成的事实表将有来自不同表的多个ID,我似乎无法一次将它们全部添加到表中。您可以反复重复这一部分,只需将PRICE_表更改为其他表名,一次一个:INSERT INTO FACT_table从PRICE_表中选择P_ID;是否有一个标识符来链接记录,或者您只是想更新其存储顺序中的ID(这在两个表中不一定相同)除了ID字段本身,没有公共标识符-我打算稍后将ID作为外键,但现在只是尝试填充它们;插入事实表,从价格表中选择P\U ID;我也尝试过这种方法,但是我完成的事实表将有来自不同表的多个ID,我似乎无法一次将它们全部添加到表中。您可以反复重复这一部分,只需将PRICE_表更改为其他表名,一次一个:INSERT INTO FACT_table从PRICE_表中选择P_ID;