Como posso obter permutações de itens de duas subconsultas em T-SQL?
-
21-08-2019 - |
Pergunta
Vamos dizer que eu tenho duas subconsultas:
SELECT Id AS Id0 FROM Table0
=>
Id0
---
1
2
3
and
SELECT Id AS Id1 FROM Table1
=>
Id1
---
4
5
6
Como faço para combiná-las para obter o resultado da consulta:
Id0 Id1
-------
1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6
Solução
Tente isto:
SELECT A.Id0, B.Id1
FROM (SELECT Id AS Id0 FROM Table0) A,
(SELECT Id AS Id1 FROM Table1) B
Grégoire
Outras dicas
junção cartesiana, uma junção sem condição de junção
select id0.id as id0, id1.id as id1
from id0, id1
Como alternativa, você pode usar a CROSS JOIN sintaxe se você preferir
select id0.id as id0, id1.id as id1
from id0 cross join id1
você pode encomendar sua consulta se você quiser uma ordem específica, com seu exemplo, parece que você quer
select id0.id as id0, id1.id as id1
from id0 cross join id1 order by id0.id, id1.id
SELECIONAR Table0.Id0, Table1.Id1 DE Table0 Completa Junte Table1 em 1 = 1
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow