2013-12-09 3 views
-1

У меня есть требование в oracle, как показано ниже. Существуют две таблицы с именем, Dob, адресом лиц.Запрос союза в oracle

Table1

Personid name  dob  adrs 
1   Jack 05/06/1990 USA 
2   Jill 05/06/1985 UK 

Table2

Personid name  dob  adrs 
1   Jack  
3   Smith 

Я должен сделать запрос накидной из двух таблицы таким образом, что если имя как в таблице же только одна строка должна возвращать результат как

Personid name  dob  adrs 
1   Jack 05/06/1990 USA 
2   Jill 05/06/1985 UK 
3   Smith 

Thanx заранее.

ответ

1

Попробуйте, как это,

SELECT personid, name, dob, adrs 
FROM table1 
UNION ALL 
SELECT personid, name, dob, adrs 
FROM table2 t2 
WHERE t2.personid NOT IN (SELECT personid 
          FROM tabl1); 

Здесь я использовал PERSONID вместо NAME сравнить/б таблиц.

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