SQL联接更新表
我有两个表,表A有用户Id和5个不同的产品列(空,由计数填充)。表B有时间戳用户id和产品id(在时间t购买)。此代码id提供错误SQL联接更新表,sql,proc-sql,Sql,Proc Sql,我有两个表,表A有用户Id和5个不同的产品列(空,由计数填充)。表B有时间戳用户id和产品id(在时间t购买)。此代码id提供错误 update table_A as table_A set Count_Product_1 = (select count(product_ID) from Table_B inner join Table_A on Table_A.User_ID=Tab
update table_A as table_A
set Count_Product_1 = (select count(product_ID)
from Table_B inner join Table_A
on Table_A.User_ID=Table_B.User_ID
where Product_ID = 'Unique_identifier_product_1');
错误:无法重新打开表A以获得成员级别的更新访问权限
控件,因为您正在资源环境SQL中使用表_A
我猜您需要的是相关子查询,而不是一般子查询。也许这正是你想要的:
update table_A as a
set Count_Product_1 = (select count(b.product_ID)
from Table_B b
where a.User_ID = b.User_ID and
b.Product_ID = 'Unique_identifier_product_1'
);
这似乎是一个更合理的查询。我猜您需要的是相关子查询,而不是一般子查询。也许这正是你想要的:
update table_A as a
set Count_Product_1 = (select count(b.product_ID)
from Table_B b
where a.User_ID = b.User_ID and
b.Product_ID = 'Unique_identifier_product_1'
);
这似乎是一个更合理的查询。我猜您需要的是相关子查询,而不是一般子查询。也许这正是你想要的:
update table_A as a
set Count_Product_1 = (select count(b.product_ID)
from Table_B b
where a.User_ID = b.User_ID and
b.Product_ID = 'Unique_identifier_product_1'
);
这似乎是一个更合理的查询。我猜您需要的是相关子查询,而不是一般子查询。也许这正是你想要的:
update table_A as a
set Count_Product_1 = (select count(b.product_ID)
from Table_B b
where a.User_ID = b.User_ID and
b.Product_ID = 'Unique_identifier_product_1'
);
这似乎是一个更合理的查询。感谢它的工作,但是我的表有400000多条记录,所以它需要时间(SAS Env),等待结果。
表B(用户id,产品id)
上的索引将有助于加快查询速度。感谢它的工作,但是我的表有400000多条记录,所以它需要时间(SAS Env),等待结果。表B(用户id,产品id)
上的索引将有助于加快查询速度。感谢它的工作,但是我的表有400000多条记录,因此它需要时间(SAS Env),等待结果。表B(用户id,产品id)
上的索引将有助于加快查询速度。感谢它的工作,然而,我的表有400000多条记录,因此它需要时间(SAS Env),等待结果。在表B(用户id、产品id)
上的索引将有助于加快查询速度。