2014-11-12 2 views
0

У меня есть таблица с CostCenter_ID (int) и вторая таблица с Process_ID (int).Создайте объединенный список из двух таблиц

Я хотел бы объединить результаты обеих таблиц, так что каждый МВЗ ID присваивается всем идентификаторов процессов, например, так:

|CostCenterID | ProcessID | 
--------------------------- 
|  1  |  1  | 
|  1  |  2  | 
|  1  |  3  | 
|  2  |  1  | 
|  2  |  2  | 
|  2  |  3  | 
|  3  |  1  | 
|  3  |  2  | 
|  3  |  3  | 

Я сделал это раньше, но я рисую пустой. Я попытался это:

SELECT CostCenter_ID,NULL FROM dbo.Cost_Centers 
UNION ALL 
SELECT NULL,Process_ID FROM dbo.Processes 

который возвращает это:

|CostCenterID | ProcessID | 
--------------------------- 
|  1  |  NULL | 
|  NULL |  1  | 
|  NULL |  2  | 
|  NULL |  3  | 
+0

Какие СУБД вы используете? Postgres? Oracle? –

ответ

3

Try:

select a.CostCenterID, b.ProcessID 
from table1 a 
cross join table2 b 

или:

select a.CostCenterID, b.ProcessID 
from table1 a 
,table2 b 

NB: cross join это лучший способ, как это делает его понятным для читателя. по твоим намерениям.


Более подробную информацию (с фото) здесь: http://www.w3resource.com/sql/joins/cross-join.php

illustration of cross join

Смежные вопросы