2016-06-21 2 views
1

У меня есть две таблицы с именем a и b.Невозможно выбрать только столбцы с одинаковым именем столбца из другой таблицы

Таблица a содержит 50 столбцов, и таблица b содержит 75 столбцов

Есть же имя столбца в этих двух таблицах. Как найти те же столбцы?

+1

Что такое 'тот же столбец SQL-сервер'? –

ответ

6

Вы можете запросить sys.columns, а затем сделать INTERSECT найти общие имена столбцов:

SELECT name 
FROM sys.columns 
WHERE OBJECT_NAME(object_id) = 'a' 

INTERSECT 

SELECT name 
FROM sys.columns 
WHERE OBJECT_NAME(object_id) = 'b' 
+0

Большое спасибо господин Феликс Памиттан – Liyakathali

+0

Рад помочь! [Не стесняйтесь принимать мой ответ, если вы считаете, что это было полезно для вас.] (Http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) :-) –

4

Пожалуйста, попробуйте это, это поможет вам

select column_name from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='a' 
INTERSECT 
select column_name from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='b' 
+0

Спасибо очень много г-на saddam_msp. Это работает очень очаровательно ..... – Liyakathali

1

Вы также можете запросить мнение

INFORMATION_SCHEMA.COLUMNS 

Этот способ:

SELECT table_name, column_name 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name IN ('your_a_table','your_b_table') 
ORDER BY column_name 

С этим вы можете получить прекрасный вид на все общие столбцы (и другие) между двумя таблицами.

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