我有一个令人讨厌的SQL查询问题,我很乐意帮助一个优雅的解决方案.我试图避免32个左外连接到同一个表.
数据库是Teradata.
我有一张包含1400万条记录和33列的表格.主键(我们称之为Trans_Id)和32个编码字段(让我们称之为encoded_1 ... encoded_32).像这样的东西:
CREATE SET TABLE BigTable ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT
(
TRANS_ID VARCHAR(20) CHARACTER SET LATIN NOT CASESPECIFIC,
ENCODED_1 VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
ENCODED_2 VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
ENCODED_3 VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC,
...
ENCODED_32 VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC )
PRIMARY INDEX ( TRANS_ID );
Run Code Online (Sandbox Code Playgroud)
我还有一个包含编码/解码值的表.假设此表中有100条记录.
CREATE SET TABLE LookupTable ,NO FALLBACK , NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = …Run Code Online (Sandbox Code Playgroud)