【问题标题】:Join table where one has foreign key with duplicate values连接表,其中一个具有重复值的外键
【发布时间】:2015-08-03 11:38:54
【问题描述】:

所以我有一个以 ID 作为主键的主表产品。我想使用此 ID 链接到另一个表,其中包含此主键 ID 的 多个 副本。问题是当我加入时,我得到了很多重复值。

这是我的 SQL 语句:

DECLARE @BuildID bigint;
SET @BuildID = 1;

SELECT Product.Stream, Product.Strategy, Product.TopLevelPartName, 
        Product.ReleaseVersion, Product.MajorVersion, Product.MinorVersion, Product.BuildNumber, 
        AsBuiltEnvironment.Name, AsBuiltEnvironment.Value, Product.BuildTime FROM Product
INNER JOIN AsBuiltEnvironment
    ON Product.BuildID = AsBuiltEnvironment.BuildID
WHERE product.BuildID=@BuildID

这是我当前的结果集:

http://i.imgur.com/MGFJRKu.png

我正在寻找这样的东西(其中空格将为空或空): http://i.imgur.com/hf8tq9k.png

是否可以不只执行多个 select 语句?

【问题讨论】:

  • 能否构建一个示例 SQL Fiddle 演示?那真的很有帮助。

标签: sql-server join duplicate-removal


【解决方案1】:

第二张图片中显示的输出不是一组完整的规范化数据库记录。它们中的大多数本身没有任何意义,因为它们缺少大部分数据。

看起来您正在尝试做的是使查询的输出在显示时看起来更好,但这是执行显示的程序的工作,而不是 SQL 查询的工作。

例如,您可以将 SQL 数据加载到 Excel 电子表格中,然后使用条件格式来隐藏多余的重复条目(有关如何执行此操作的示例,请参阅:http://www.techrepublic.com/blog/windows-and-office/a-quick-trick-for-hiding-duplicate-excel-values/

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2018-12-15
    相关资源
    最近更新 更多