以编程方式创建数据库关系

时间:2012-01-16 22:41:13

标签: c# mysql sql

我有两个独立的数据库,这些数据库的数据与另一个数据库重合。然而,它们并不是关系型的。

我正在尝试以编程方式创建一个关系来在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

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

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

提前致谢!

1 个答案:

答案 0 :(得分:3)

由于您对“非关系”的定义仅仅意味着“没有约束”,您应该能够比较两个不同数据库中的数据,只要您加入的字段是相同的数据类型即可。如果您使用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]