2012-10-04 26 views
10

Tengo dos tablas:Cómo unir dos tablas no relacionadas en SQL

Tabla 1: Fórmulas

FormulaId Formula Text 
1   [Qty] * [Rect] 
2   [Qty] * [Al] 
3   [Mt] * [Cat] 

Tabla 2: Contexto

ContextId Name 
1   Test 1 
2   Test 2 
3   Test 3 
4   Test 4  

necesito para unirse a los que de alguna manera en SQL servidor 2008 R2 para obtener una tabla donde para cada ID de contexto voy a tener una lista completa de fórmulas, es decir,

Resultado

ContextId Name  FormulaId Formula Text  
1   Test 1 1   [Qty] * [Rect] 
1   Test 1 2   [Qty] * [Al] 
1   Test 1 3   [Mt] * [Cat] 
2   Test 2 1   [Qty] * [Rect] 
2   Test 2 2   [Qty] * [Al] 
2   Test 2 3   [Mt] * [Cat] 
3   Test 3 1   [Qty] * [Rect] 
3   Test 3 2   [Qty] * [Al] 
3   Test 3 3   [Mt] * [Cat] 
4   Test 4 1   [Qty] * [Rect] 
4   Test 4 2   [Qty] * [Al] 
4   Test 4 3   [Mt] * [Cat] 

Respuesta

13

Puede utilizar el Cartesian Product de las dos tablas de la siguiente manera:

SELECT * FROM Formulas, Context 

Esto daría lugar a M * N filas.

16

Usted desea utilizar un CROSS JOIN:

SELECT FormulaId, Formula, ContextId, [Name] 
FROM Formula 
CROSS JOIN Context 
+1

Tengo que mejorar al escribir en el teléfono. Autocorrect no parece entender SQL. – LittleBobbyTables

0

sólo se puede hacer Únete Cruz. Otras combinaciones se pueden hacer solo con tablas relacionadas.

Cuestiones relacionadas