我有一个如下表
CREATE TABLE unpivot_table (
FirstName varchar(100) NOT NULL,LastName varchar(100) NOT NULL,query1 varchar(200) NOT NULL,result1 varchar(200) NOT NULL,query2 varchar(200) NOT NULL,result2 varchar(200) NOT NULL,query3 varchar(200) NOT NULL,result3 varchar(200) NOT NULL,query4 varchar(200) NOT NULL,result4 varchar(200) NOT NULL,query5 varchar(200) NOT NULL,result5 varchar(200) NOT NULL
)
我正试图取消上表的显示,使其看起来像下表
CREATE TABLE UnPivoted (
FirstName varchar(100) NOT NULL,query varchar(200) NOT NULL,result varchar(200) NOT NULL
)
在MSSQL中,我可以使用以下查询来实现
SELECT unpivot_table.FirstName,unpivot_table.LastName,CrossApplied.query,CrossApplied.result
FROM unpivot_table
CROSS APPLY (VALUES (query1,result1),(query2,result2),(query3,result3),(query4,result4),(query5,result5))
CrossApplied (query,result);
但是我需要在MySQL中使用此查询中使用的“交叉应用”,而不是在MySQL中。
从我的研究中,我发现MySQL 8.0.14以来mysql引入了“侧向”,它可以替代“交叉应用”,但我未能编写查询。
请帮助在MySQL中实现这一目标。
谢谢。