【发布时间】:2021-08-11 18:01:17
【问题描述】:
我有两张桌子:
activities (
org_id bigint,
user_id bigint,
lang text,
timestamp bigint,
...
PRIMARY KEY ((org_id, user_id), timestamp)
和
metadata (
user_id text,
org_id text,
lang text,
date_str text,
...
PRIMARY KEY ((user_id, org_id), date_str)
给定:activity.rows >> metadata.rows
我需要
update metadata and set metadata.lang = activities.lang for all rows in metadata,
when metadata.user_id = activities.user_id and metadata.org_id = activities.org_id
问:什么是优雅的简短 cql 查询来实现相同的目标?
我试过了:
update metadata set metadata.lang = (select activities.lang from activities where activities.user_id = metadata.user_id and activities.org_id = metadata.org_id)
这显然因违反基数而失败。
【问题讨论】:
-
样本数据和预期结果将使问题更加清晰。