【问题标题】:How to Join Table with Different Primary Key/ Foreign Key如何使用不同的主键/外键加入表
【发布时间】:2012-11-26 16:46:35
【问题描述】:

我在存储过程 C# 中有一个关于如何连接 3 个表的问题。 例如:

表 A: ID_Budget、姓名、日期

表 B: ID_Budget,数量,GrandTotalBudget (表 B 是表 A 的详细信息)

表 C: ID_Actual,GrandTotalActual

(表A、表B、表C的记录总数相同)

我对表 A 和表 B 使用内连接,没有问题。但是,当我尝试与表 C 交叉连接时,它会给出重复数据。当我在存储过程中添加表 C 时,CROSS JOIN 是从 C# 自动生成的。我也尝试了 FULL JOIN,但没有成功。

在水晶报表中,我想获取数据 ID_Budget、GrandTotalBudget 和 GrandTotalActual

我需要你的帮助,伙计们(或大师)真的尽快

谢谢! :)

【问题讨论】:

  • 这和 C# 有什么关系?你是说 SQL Server 吗?
  • 表 C 与表 A 或 B 有什么关系?
  • 我在 C# 中使用内部数据库。但我认为与 SQL Server 类似的查询
  • 这就是问题所在。我需要如何连接表 A、B 和 C。但在表 C 中,没有可用于连接表 A 和表 B 的外键。
  • 你必须有foregin key才能将表c与其他表连接

标签: c# stored-procedures join primary-key


【解决方案1】:

您要做的是笛卡尔联接,它将 A 和 B 中的所有行与 C 中的行结合起来。要做到这一点,您需要有一些东西可以连接这三个表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多