Ich habe Tabellenzeilen, die ich auf Spalten transponiert habe, aber wenn die Werte generiert werden, werden sie diagonal angezeigt und ich bin mir nicht sicher warum.SQL transponierte Werte diagonal angezeigt
Original-Tabelle
SELECT * FROM TABLE1;
Dies ist die SQL-Anweisung i die Spalten transponieren verwendet: WNS, TNS und NVP
CREATE TABLE FMTABLE AS
SELECT EXPERIMENT, STAGE, INTSTAGE, SCENARIO,
CASE WHEN TPG LIKE '%ASPN%' THEN WNS END AS ASPN_WNS,
CASE WHEN TPG LIKE '%ASPD%' THEN WNS END AS ASPD_WNS,
CASE WHEN TPG LIKE '%ASDD%' THEN WNS END AS ASDD_WNS,
CASE WHEN TPG LIKE '%SSSS%' THEN WNS END AS SSSS_WNS,
CASE WHEN TPG LIKE '%DDDD%' THEN WNS END AS DDDD_WNS,
CASE WHEN TPG LIKE '%FFFF%' THEN WNS END AS FFFF_WNS,
CASE WHEN TPG LIKE '%GGGG%' THEN WNS END AS GGGG_WNS,
CASE WHEN TPG LIKE '%HHHH%' THEN WNS END AS HHHH_WNS,
CASE WHEN TPG LIKE '%JJJJ%' THEN WNS END AS JJJJ_WNS,
CASE WHEN TPG LIKE '%KKKK%' THEN WNS END AS KKKK_WNS,
CASE WHEN TPG LIKE '%LLLL%' THEN WNS END AS LLLL_WNS,
CASE WHEN TPG LIKE '%EEEE%' THEN WNS END AS EEEE_WNS
FROM TABLE1;
FMTABLE
Die Spalten sind korrekt, aber die Werte zeigen sich auf seltsame Weise. Ich versuche nur 2 Datenzeilen zu erhalten (SCENE01 und SCENE02)
Wie gehe ich vor, die Tabelle richtig zu transponieren?
Tabellengenerierung Code
CREATE TABLE TABLE1 (
EXPERIMENT NVARCHAR(55),
STAGE NVARCHAR(55),
INTSTAGE NVARCHAR(55),
SCENARIO NVARCHAR(55),
TPG NVARCHAR(55),
WNS DOUBLE,
TNS DOUBLE,
NVP DOUBLE
);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'ASPN', 0.5, 0.6, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'ASPD', 0.5, 0.5, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'ASDD', 0.5, 0.8, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'SSSS', 0.5, 0.6, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'DDDD', 0.5, 0.1, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'FFFF', 0.5, 0.2, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'GGGG', 0.5, 0.63, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'HHHH', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'JJJJ', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'KKKK', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'LLLL', 0.5, 0.8, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE01', 'EEEE', 0.5, 0.98, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'ASPN', 0.5, 0.6, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'ASPD', 0.5, 0.5, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'ASDD', 0.5, 0.8, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'SSSS', 0.5, 0.6, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'DDDD', 0.5, 0.1, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'FFFF', 0.5, 0.2, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'GGGG', 0.5, 0.63, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'HHHH', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'JJJJ', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'KKKK', '', '', '');
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'LLLL', 0.5, 0.8, 0.8);
INSERT INTO TABLE1 VALUES ('EXP1', 'STAGE1', 'INTSTAGE1', 'SCENE02', 'EEEE', 0.5, 0.98, 0.8);
Mysql und sqlite sind 2 verschiedene Produkte. Bitte entfernen Sie das irrelevante Tag. – Shadow