2016-09-18 1 views
-2

Table_1Как извлечь данные из таблиц с помощью SQL

Id | name   
1 | abc    
2 | xyz  

Table_2

Id | name 
3 | sgha 
5 | dshhb 

Я хочу, чтобы получить все данные из таблицы 1 и я хочу данные только Id в Таблица 2 ..

Ожидаемый результат

Id | name 
1 | abc 
2 | xyz 
3 | null 
5 | null 
+0

просто с помощью присоединяется –

+0

Can вы публикуете запрос –

+0

Тег спама! И зачем спрашивать «Oracle» и теги с любой другой системой БД? – Seelenvirtuose

ответ

0
SELECT 
    COALESCE(Table_1.id, Table_2.id) AS id, Table_1.name 
from Table_1 
FULL OUTER JOIN Table2 
ON Table_1.id = Table2.id 

Может быть, это решит вашу проблему ..

COALESCE Функция работы здесь

Пожалуйста, не downvote вопрос ..

+0

Yaa ... поэтому, используя коалесцинг, будет использоваться только один колум с данными обеих таблиц (t1.id и t2.id) –

0

Это просто JOINS так:

SELECT T1.id, T1.name, T2.id 
FROM table1 T1 JOIN table2 T2 
ON --T1.ID=T2.ID 

, если идентификатор является одинаковым для укрепите отношения - `

В случае если вы не ХОТИТЕ ИСПОЛЬЗОВАТЬ JOINS вы можете сделать это:

SELECT id,name FROM table1 
UNION 
SELECT id,name FROM table2 --if you want the two columns 
+0

Я не сравниваю table1.id = table2.id –

+0

Идентификатор совпадает или еще не все детали должны отображаться –

+0

И я смотрю на таблицу 2 id ... данные этого также должны быть показаны ... без использования оператора equilty –

0

Ну, во-первых, у вас возникнет проблема с выбором двух полей в 2 таблицах с тем же именем, однако вы можете с псевдонимом указать те же имена полей (Id).

Select 
Id = Table_1.Id, 
Name = Table_1.Name, 
Id2 = Table_2.Id 

From Table_1 
Inner Join Table_2 On Table_1.Id = Table_2.Id 
+0

Если вы не хотите ума, можете ли вы рассказать мне, что такое diffn betwen internal join и equi join –

+0

А что если id.table1 doesnt match с id.table2 –

+0

Это неправильное решение – dhS

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

  • Нет связанных вопросов^_^