Как я могу получить перестановки элементов из двух подзапросов в T-SQL?
-
21-08-2019 - |
Вопрос
Допустим, у меня есть два подзапроса:
SELECT Id AS Id0 FROM Table0
=>
Id0
---
1
2
3
and
SELECT Id AS Id1 FROM Table1
=>
Id1
---
4
5
6
Как мне объединить их, чтобы получить результат запроса:
Id0 Id1
-------
1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6
Решение
Попробуй это :
SELECT A.Id0, B.Id1
FROM (SELECT Id AS Id0 FROM Table0) A,
(SELECT Id AS Id1 FROM Table1) B
Грегуар
Другие советы
Декартово соединение, соединение без условия соединения.
select id0.id as id0, id1.id as id1
from id0, id1
в качестве альтернативы вы можете использовать синтаксис CROSS JOIN, если хотите.
select id0.id as id0, id1.id as id1
from id0 cross join id1
вы можете заказать свой запрос, если вам нужен конкретный порядок, из вашего примера это выглядит так, как вы хотите
select id0.id as id0, id1.id as id1
from id0 cross join id1 order by id0.id, id1.id
Выберите Table0.id0, таблица 1.id1 из Table0 Полное соединение Table1 на 1 = 1
Не связан с StackOverflow