![]() |
|
Archives of the TeradataForumMessage Posted: Wed, 18 Aug 2004 @ 15:34:45 GMT
Nick 1000 columns !!!! OK, this is far from elegant and there will certainly be better solutions posted but I would create a second table, generate the sql to populate it, run the SQL to populate it then select from it.
CREATE TABLE TEST_02
(NAME CHAR(04)
,DESCRIPTION CHAR(10)
);
SEL
'INSERT INTO TEST_02 SEL NAME,'''||TRIM(BOTH FROM COLUMNNAME)||''' FROM
TEST_01 WHERE '||TRIM(BOTH FROM COLUMNNAME)||'=1;'
FROM DBC.COLUMNS
WHERE
TABLENAME='TEST_01'
AND
COLUMNNAME<>'NAME';
this produces output as follows which I would then run :-
INSERT INTO TEST_02 SEL NAME,'SHIRT' FROM TEST_01 WHERE SHIRT=1;
INSERT INTO TEST_02 SEL NAME,'HAT' FROM TEST_01 WHERE HAT=1;
INSERT INTO TEST_02 SEL NAME,'SOCKS' FROM TEST_01 WHERE SOCKS=1;
INSERT INTO TEST_02 SEL NAME,'SHOES' FROM TEST_01 WHERE SHOES=1;
INSERT INTO TEST_02 SEL NAME,'PANTS' FROM TEST_01 WHERE PANTS=1;
INSERT INTO TEST_02 SEL NAME,'COAT' FROM TEST_01 WHERE COAT=1;
then just run
SEL * FROM TEST_02 ORDER BY 1,2
the above is probably full of holes as I haven't tested it thoroughly but its the approach I would use. Howard
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||