【问题标题】:Creating Database Relationship programmatically以编程方式创建数据库关系
【发布时间】:2024-01-09 13:20:01
【问题描述】:

我有两个独立的数据库,它们的数据与另一个数据库一致。但是它们不是相关的。

我正在尝试以编程方式创建关系以在 C# 中构建一些统计信息。 我正在查找案例中的操作数量及其相关资产。

从一个数据库中我可以看到什么资产属于什么案例

| 7AU45448 | cases/unchanged/
| 7AI61361 | cases/unchanged/
| 8C52A5A1 | cases/unchanged/
| 8643Y053 | cases/unchanged/
| 8643Y052 | cases/unchanged/
| 8643Y051 | cases/unchanged/
| 8643Y050 | cases/unchanged/
| B4F043RB | cases/ups01/
| B4F043R7 | cases/ups01/
| B4F043R5 | cases/ups01/
| B4F043QZ | cases/ups01/
| B4F043QY | cases/ups01/
| B4F043RA | cases/ups01/
| B4F043R1 | cases/ups01/
| B4F043R8 | cases/ups01/
| B4F043R9 | cases/ups01/
| B4F043QX | cases/ups01/
| B4F043R3 | cases/ups01/
| B4F043QW | cases/ups01/
| B4F043R4 | cases/ups01/
| B4F043RC | cases/ups01/
| B4F043R2 | cases/ups01/
| B4F043R0 | cases/ups01/
| B4F043RD | cases/ups01/
| B4F043R6 | cases/ups01/

另一个数据库用于日志,不包含有关案件本身的信息。只有资产和细节在里面。

这个数据库中的信息是这样的:

7AU45448 | Processed file
7AU45448 | Download file
7AU45448 | View file

我可以轻松地对数据库中的每个资产进行操作计数,但不能对案例进行计数。这就是我需要这种关系的原因。

如果有人有想法或建议请告诉我!

提前致谢!

【问题讨论】:

  • 对不起,你能澄清一下被问到的问题吗?我不能完全收集你想要什么,以及为什么 MySQL、SQL、WPF 和 MVVM 都适用。
  • 它只是我正在使用的东西,我想弄清楚每个案例的操作数。我试着把我需要的东西加粗
  • 是的,但这是从随机数据到业务规则的一大飞跃。
  • 另外,您对“关系”一词的用法不清楚,您指的是哪个定义?
  • 你真的有完全独立的数据库,还是这些不同的表在同一个数据库中?

标签: c# mysql sql


【解决方案1】:

由于您对“非关系”的定义仅仅是“无限制”,因此只要您要加入的字段是相同的数据类型,您就应该能够比较两个不同数据库中的数据。如果您使用 LEFT OUTER JOIN,请确保您的左表是具有您关心的值的表。在这种情况下,[db1].[dbo].[table1] 是左表。

例子:

SELECT [db1].[dbo].[table1].*, [db2].[dbo].[table2].*
FROM [db1].[dbo].[table1]
LEFT OUTER JOIN [db2].[dbo].[table2] ON [db1].[dbo].[table1].[field_in_db1_table1] = [db2].[dbo].[table2].[field_in_db2_table2]

【讨论】:

  • 很酷,谢谢,听起来不错。我想我误解了关系。这是 MySQL 需要的语法吗?
  • 不,这是用于 SQL Server 的 T-SQL。我不太了解 MySQL,但让我谷歌一下。应该是相似的。
  • 好像是一样的:*.com/questions/4897954/…
最近更新 更多