首页 > 解决方案 > 生成变量的所有组合并插入临时表

问题描述

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

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

........... .......... 很快

请帮助我

标签: mysqlsqldatabasestored-procedures

解决方案


我想你想要一个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

推荐阅读