2016-04-28 2 views
0

Я пытаюсь автоматизировать тестирование, где мы имеем 5 таблиц конфигурации с каждый из которых имеет фиксированный набор записей, как:Permutate Колонны из нескольких таблиц, чтобы создать новую таблицу

Таблица 1 - Имеет 1 столбец - Имя: A , В, С, D, Е, F, G, Н, I, J

Таблица 2 - Имеет 1 колонка - Номер: 1, 2, 3, 4, 5

Таблица 3 - имеет 1 столбец - GreekA: Alpha, Beta, Gamma, Delta, Theta

Таблица 4 - имеет 1 столбец - AAlpha: A1, A2

Таблица 5 - Имеет 1 колонка - Письмо: KKK, JJJ, HHH

Исходя из вышесказанного, мне нужно сгенерировать все возможные комбинации перестановок из выше 5 таблиц и заполнения Table6, которые должны иметь все столбцы из всех выше таблицы и комбинация всех возможных значений перестановок. В любом случае перестановка всего на все.

Для этого мне нужно использовать SQL Server 2008.

+1

Скорее всего, вы получите лучшие результаты, если вы опубликуете то, что вы пробовали, а не попросите пользователей здесь сделать весь проект для вас. – APH

+0

В качестве побочного примечания исследование «cross join» должно решить вашу проблему. – APH

+0

Привет, APH ... Я был фактически потерян, как даже начать это ... Спасибо, что указал на направление. Ты восхитителен!! Я посмотрю в Cross Join, чтобы узнать, как я могу попробовать. Любые другие предложения также приветствуются :) –

ответ

2

Это будет производить 1500 строк со всеми комбинациями.

DECLARE @tbl1 TABLE([Name] VARCHAR(100));  
INSERT INTO @tbl1 VALUES('A'),('B'),('C'),('D'),('E'),('F'),('G '),('H '),('I '),('J'); 
DECLARE @tbl2 TABLE([Number] INT);   
INSERT INTO @tbl2 VALUES(1),(2),(3),(4),(5); 
DECLARE @tbl3 TABLE([GreekA] VARCHAR(100)); 
INSERT INTO @tbl3 VALUES ('Alpha'),('Beta'),('Gamma'),('Delta'),('Theta'); 
DECLARE @tbl4 TABLE([AAlpha] VARCHAR(100)); 
INSERT INTO @tbl4 VALUES ('A1'),('A2'); 
DECLARE @tbl5 TABLE([Letter] VARCHAR(100)); 
INSERT INTO @tbl5 VALUES ('KKK'),('JJJ'),('HHH'); 

SELECT * 
FROM @tbl1 
CROSS JOIN @tbl2 
CROSS JOIN @tbl3 
CROSS JOIN @tbl4 
CROSS JOIN @tbl5 
Смежные вопросы