我有一个类似于下面的表:
id | cat | one_above | top_level |
0 'printers' 'hardware' 'computers'
我希望能够在不使用 unions的情况下编写一个查询,它将返回一个结果集,该结果集将该表的列转换为行。这意味着,我希望结果是:
id | cat |
0 'printers'
0 'hardware'
0 'computers'
这在 MySQL 中可能吗?我无法下拉到应用程序层并执行此操作,因为我将这些输入到将基于 id 进行索引的搜索引擎中。其他各种 DBMS 都有 PIVOT 和 UNPIVOT 之类的东西。我将不胜感激对我所缺少的东西的任何见解。
马哈茂德
附言
我正在考虑将数据库的重新规范化作为最后的选择,因为这不是一项简单的任务。
谢谢!