Сгенерировать все комбинации для переменных и вставить в временную таблицу - PullRequest
2 голосов
/ 21 июня 2020

У меня есть одно требование: есть 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

.... ....... .......... и так далее

пожалуйста, помогите мне с этим

1 Ответ

1 голос
/ 21 июня 2020

Думаю, вам нужен 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
...