是否可以将 DB2 Zos v8 表行值重新排序到列中

发布于 2024-11-10 03:11:52 字数 349 浏览 0 评论 0原文

我的表中有这样的数据,

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

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

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

该表是这样构建的,因此我可以通过仅添加新行来添加额外的“属性”。因此,查询需要能够根据项目具有的属性数量添加列。

有什么想法吗? 谢谢

I have data that looks like this in a table,

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

Is it possible to run a query that will build a row like this,

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

The table was built this way so I can add additional "Attributes" by only adding a new row. So the query needs to be able to add column based on the number of attributes an item has.

Any Ideas?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

怂人 2024-11-17 03:11:52

我认为你的设计可能很糟糕。我可以建议一个替代方案吗?

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

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

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

I think that you may have a poor design. May I suggest an alternative?

Item(ID, NAME, DESCRIPTION, ETC...)
Attribute(ID, NAME, DESCRIPTION)
ItemAttribute(ID, ItemID, AttributeID, Value)

With the above design (which may or may not be the BEST solution, but would certainly be a better one), you could simply add an ItemAttribute record for each item. You would specify the item, which attribute, and the value for that attribute. With your current design, you are attempting to represent a Many to Many relationship in a single table, which does not seem practical to me (many Items-to-many Attributes).

In conclusion, I do not think what you are asking for can be done with a static SQL statement. With your current setup, you may be able to dynamically generate a SQL statement by first selecting all records of a given item, and then checking to see which attributes you selected, and constructing you select clause accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文