0

语境:

我正在使用 SQL Server 2008,它是 CHANGETABLE 模块,可让多个数据库 (SQlite) 与运行的在线服务器 (SQL Server 2008) 保持同步

选择的解决方案:

我从 CHANGETABLE 返回的结果中生成查询。前任:

账号 | SYS_CHANGE_OPERATION

1 | ü

会给我“更新帐户集 idAccount = 1, .. WHERE idAccount = 1”

如果您想要数据库的完整副本,此系统可以正常工作

但是问题是它将下载所有用户的所有帐户以及与其他用户相关的所有其他信息。

我希望能够指定一个 idUser 以便我可以获得一个用户的信息。

问题是 userId 不在每个表中。我想避免这样的查询:

SELECT CT.idAccount,SYS_CHANGE_OPERATION
FROM CHANGETABLE(CHANGES Accounts, 0) AS CT
WHERE CT.idAccount IN (
    SELECT m.idAccount
    FROM Marketing m 
    WHERE m.idMarketing  IN (
        SELECT idMarketing
        FROM another_table
        WHERE userId IN(
            SELECT userId
            FROM Users u
            WHERE userId = 1
        )

    )
)

我希望我足够清楚,关于如何为一个用户获取所有更改而不进行像上面这样的查询的任何想法?

4

0 回答 0