【问题标题】:Is it possible reorder DB2 Zos v8 Table Row values into Columns是否可以将 DB2 Zos v8 表行值重新排序为列
【发布时间】:2023-03-16 05:46:01
【问题描述】:

我的表格中有这样的数据,

Item Attribute Value
---- --------- -----
cup  color     Red
cup  size      16
cup  type      Plastic

是否可以运行这样的查询来构建一行,

Item color size type
---- ----- ---- ----
cup  Red   20   Plastic

表格是以这种方式构建的,因此我可以通过仅添加新行来添加其他“属性”。因此查询需要能够根据项目的属性数量添加列。

有什么想法吗? 谢谢

【问题讨论】:

    标签: sql db2 zos


    【解决方案1】:

    我认为您的设计可能很糟糕。我可以推荐一个替代方案吗?

    项目(ID、名称、描述、等等...) 属性(ID、名称、描述) ItemAttribute(ID, ItemID, AttributeID, Value)

    使用上述设计(可能是也可能不是最好的解决方案,但肯定会更好),您可以简单地为每个项目添加一个 ItemAttribute 记录。您将指定项目、哪个属性以及该属性的值。使用您当前的设计,您正试图在单个表中表示多对多关系,这对我来说似乎不切实际(许多项目对多属性)。

    总之,我不认为你所要求的可以用静态 SQL 语句来完成。使用您当前的设置,您可以动态生成 SQL 语句,方法是首先选择给定项目的所有记录,然后检查您选择了哪些属性,并相应地构造您的 select 子句。

    【讨论】:

    • 这是给我的桌子设计,不得不用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2011-04-08
    • 2020-08-20
    • 2019-09-26
    • 1970-01-01
    相关资源
    最近更新 更多