【发布时间】:2018-07-11 00:29:37
【问题描述】:
在查询以下场景时需要您的帮助。
表1
名称 -ID1 - ID2 - ID3 - IDn A1 - 空 - 11 - 12 - nn A2 - 14 - NULL -11 -nn上表需要如下翻译
表2
姓名 - ID A1 - 11 A1 - 12 A2 - 14 A2 - 11
table1 中的 id 值可以到 ID50。 表 2 将是基于表 1 的输出。不会考虑所有空值。做这个的最好方式是什么。任何动态执行此操作的方式,因为 ID 值至少会像 ID1 - ID50
任何人都可以帮助我询问如何执行此操作。非常感谢
【问题讨论】:
-
这是一次“一次性”转换吗?表 2 的设计比表 1 好得多 - 表 2 中的行顺序重要吗?
-
你更关心哪个:更少的代码,还是更快的执行?如果是前者,您必须编写一个循环来构建动态 sql 并将 ID 值附加到查询中,然后执行查询字符串。如果是后者,你真的最好把它吸起来,然后为所有 50 列手写一次 SQL。
-
更快的执行@Joel Coehoorn
-
检查这个链接它有你可能需要的相关点stackoverflow.com/questions/20111418/…
-
表结构是什么?请张贴
CREATE TABLE ...声明。