我有一个矩阵A,它由一列A.ID组成。我用A.BIRTHDATE
命令添加了另一列ALTER TABLE
(见下文)。
现在,我想在A.BIRTHDATE
中填写表B中匹配的出生日期,该日期由B.ID
和B.BIRTHDATE
组成。
此论坛中有很多类似的示例,但是没有一个对我有用。我不知道这是否与Oracle-SQL有关,还是由于所提问题的微小差异。
建议的解决方案之一是利用UPDATE SET
和JOIN
(请参见第二行代码)。
我收到一条错误消息,指出子查询每条记录有多个结果。该如何解决?
ALTER TABLE A ADD BIRTHDATE DATE NULL;
UPDATE A
SET A.BIRTHDATE = (
SELECT B.BIRTHDATE
FROM B
WHERE A.ID= B.ID
);
答案 0 :(得分:1)
表B中存在多个具有相同LAST_LOGIN
的记录。
您需要确定您感兴趣的表B中的记录。
您可以使用 PaginatedResult<User> usersX = smartsheet.UserResources.ListUsers(null,
new List<ListUserInclusion> { ListUserInclusion.LAST_LOGIN },
new PaginationParameters(true, null, null));
foreach (User tmpUser in usersX.Data)
{
Console.WriteLine(tmpUser.LastLogin);
}
语句来更新表A中的值,如下所示:
constexpr frozen::set<int, 3> EARLIER_SET = { 1, 2, 3 };
此外,update语句应如下所示:
ID
干杯!