【问题标题】:Database table (re)design. Combine multiple rows into one and assign primary key. Microsoft SQL Server数据库表(重新)设计。将多行合并为一个并分配主键。微软 SQL 服务器
【发布时间】:2023-03-11 17:15:01
【问题描述】:

我目前设计表格的方式有问题。

我正在做的是处理 CODA 文件(它是比利时的银行标准)。我将每笔交易保存到表中,并为每笔交易分配一个 GUID 键。

现在,每一行都不是一个事务,而是一组行一起构成一个事务。我通过为每个事务生成一个密钥并将其存储到下面的 2 个表中来解决这个问题。我已经通过第三个表链接了这个,其中这个键是主键。

我的上级要求我删除第三张表,而是将每个事务合并到下面显示的 2 个表中的每一个中的一行中(不是第三个表,因为它会被删除)。

我是在 SQL Server 和 Visual Studio 上进行开发的新手。在这方面的任何帮助将不胜感激。对这家伙有什么想法吗?

【问题讨论】:

    标签: c# sql-server coda


    【解决方案1】:

    只是想在继续之前澄清一下,您是否尝试连接交易以使 (11 + 12 = (完成时的 23 值)) 或者更确切地说 (完成时的 (11, 12) 值) 进行交易?

    【讨论】:

    • 我正在尝试将所有以 21 和 31 开头的行中的数据放在一行中。类似地,下一组数据是从 21 到下一次出现的 21。因此(21 到 21)内的所有数据都在一个单行中。另一个表也是如此,以 0、1、8、9 开头的行中的所有数据都应该在一行中。
    • 我想我明白了,但是以这种方式进行会有一些问题,让我们以第 21 行为例。假设我们将所有行附加到一行。这样标记为“金额”的列将包含值(12500、13000、20000、40000)。这会将数字变成字符串,使计算更具挑战性。通常这种格式会在报表生成器中完成,而不是直接在数据库中。
    • 因此最佳实践是在 SSRS 等报表构建器中构建您尝试实现的布局,将数字添加到另一个表中(这会掩盖一些数据)但保留原始表并对其进行排序,以便正确分组信息,或者您可以使用字符串转换路线,但如上所述会使计算更具挑战性。让我知道您更喜欢哪个,然后我会尽力提供帮助。
    • 原来如此; CODA 文件基本上有 130 个字符长。每行是 130 个字符。它们以 21、31、33 开头,依此类推。每个的开头都表示它是什么; (交易记录、移动记录等)。我现在所做的是将每天的交易放入一个列表中(当天的 tx 以 0 开头,以 9 结尾,如第一个表所示)。然后我继续将它们保存到数据库并分配一个 guid_key。我需要更改此设置,以使每笔交易都在一行中。 IE。一组 21, 31, 33.... 然后另一组 21, 31, 32, 33... 我可以通过电子邮件将我的代码发送给您。
    • 是的,如果您可以发送代码,我可以处理此问题。我的电子邮件是 robertlharrisiv@gmail.com。
    猜你喜欢
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多