2015-06-18 5 views
-1

Это может быть repost; если да, напишите мне, и я удалю.Выберите имена столбцов из одной таблицы, основанные на значениях в столбце другой таблицы

Во-первых, я SQL newb. У меня две таблицы: table_1 и table_2. Я хочу выбрать имена столбцов из таблицы_1, которые соответствуют только значениям, найденным в столбце с именем «foo» из таблицы 2.

Как я могу это узнать? Это требует внутреннего соединения?

У меня есть код, который я могу опубликовать, но это катастрофа.

+0

http://stackoverflow.com/questions/5637983/sql-select-dynamic-column-name-based-on-variable – Brino

+0

Я не уверен, что сообщение отвечает на мой вопрос. Не могли бы вы объяснить, почему этот пост может помочь? –

+0

Я обновил свой ответ, пожалуйста, проверьте его. После того, как вы удовлетворены моим ответом, можете ли вы дать отметку и проголосовать, пожалуйста. –

ответ

1

Это один из примеров.

select * from table1 join table2 on table1.col1= table2.col2 

Мы следим за этими синтаксисами.

select * from table1 join table2 on table1.col1= table2.foo 

Это является, как выяснить, column_name присутствует в другой таблице

SELECT * FROM( SELECT letter FROM `Table_2`) a JOIN 
(SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='database_name' 
    AND `TABLE_NAME`='Table_1') b ON a.letter= b. COLUMN_NAME 

Спасибо.

+0

Это объединение двух таблиц на основе общих значений, найденных в столбцах. Я хочу присоединиться к основанию имен столбцов table_1 и значений, найденных в столбце foo в таблице_2. Я здесь? Спасибо за ваш быстрый ответ. –

+0

Я ссылаюсь на имена столбцов в таблице_1, выбирая «column_name» FROM «information_schema». «Columns» WHERE «table_name» = 'table_1' –

+0

Вы не знаете, какие столбцы в таблице_1 сравнить в таблице_2 правильно? –

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