生成变量的所有组合并插入临时 table

Generate all combinations for variables and insert into temp table

我有一个要求有 4 个变量,我想要 4 个变量的所有组合并插入临时 table。

DECLARE StartDateTime DATETIME;
DECLARE Age INT; 
DECLARE Duration INT ;
DECLARE TotalDD INT;

CREATE TEMPORARY TABLE tempTable(
    Duration INT,
    TotalDD INT,
    Age INT,
    StartDateTime DATETIME,
   
);
SET Age = 16;
SET TotalDD = 14;
SET Duration = 30;
SET StartDateTime = CURDATE();

异常结果:

Duration age TotalDD StartDateTime
30 null null null
null 16 null null
30 null null null
30 16 null null
null null 14 20200622
30 null 14 null
30 16 null 20200622

...... ………… 等等

请帮我解决这个问题

我想你想要一个 cross join:

select *
from (select 16 as age union all select null) a cross join
     (select 14 as totaldd union all select null) t cross join
     (select 30 as duration union all select null) d cross join
     (select CURDATE() as StartDateTime union all select null) s