2015-04-09 2 views
-1

У меня проблема слиянием соединения. У меня есть две таблицы, чтобы присоединиться:Merge Присоединиться к неправильному выходу (полное внешнее соединение)

Table1:

year , environment , population with values 
------------------------------------------  
2000 , rural , x1  
2000, urbain , x2  
2005, rural , x3 ...etc 

TABLE2:

year , environment , poverty_rate 
--------------------------------- 
2000 , rural , y1  
2000, urbain , y2  
2005, ... etc 

Я сделал слиянием преобразование (полное внешнее соединение), а выход что-то вроде :

year, environment, population, poverty_rate 
------------------------------------------- 
2005 , rural , x3 , NULL  
2005 , urbain, x4, y4  
NULL, NULL, NULL , y3 

Может кто-нибудь, пожалуйста, помогите мне узнать, что пошло не так с этим? Что я сделал не так?

+1

Пожалуйста, показывают SQL вы использовали. –

+0

Кроме того, пожалуйста, напишите, какие результаты вы хотите предоставить вашим образцам данных. – Becuzz

+0

Я использовал преобразование объединения слияния в SSIS , и то, что я хочу, - это таблица, которая имеет в каждой строке среду года, а также уровень бедности и популяцию, когда существуют оба значения, и NULL для той, которая отсутствует, когда это так –

ответ

0

Предполагая, что год и окружающая среда являются колонны, 1 и 2 имеют общего друг с другом, и если вы хотите, чтобы отобразить населения и бедности ставку, только если эти два значения совпадают, то вы можете попробовать это:

SELECT t1.year, t1.environment, t1.population, t2.poverty_rate 
FROM table1 as t1 
INNER JOIN table2 as t2 ON t1.year = t2.year AND t1.environment = t2.environment 

Если вы хотите, чтобы все записи из table1 и только те, которые соответствуют с table2, попробуйте это:

SELECT t1.year, t1.environment, t1.population, t2.poverty_rate 
FROM table1 as t1 
LEFT JOIN table2 as t2 ON t1.year = t2.year AND t1.environment = t2.environment 
+0

благодарим вас за ответ, но мне нужно полное соединение. поэтому я думаю, что замена LEFT/INNER FULL делает работу .. не так ли? –

+0

он снова работал THNX .. Интересно, почему это не с преобразованием ssis: / –

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