2013-07-19 2 views
0

Итак, у меня есть две таблицы, которые мне нужно для агрегирования данных.Агрегирование данных между двумя таблицами в MySQL

Первые выглядит следующим образом:

zip code | key 
x   1 
x   2 
x   3 
y   4 
y   5 

Второй выглядит следующим образом:

characteristics | key 
a     1 
b     1 
c     1 
d     2 
e     2 
f     3 
g     4 

и мне нужно, чтобы присоединиться к ним, чтобы посмотреть, как это ...

zip code | key | characteristics 

x   1  a 
x   1  b 
x   1  c 
x   2  d 
x   2  e 
x   3  f 
y   4  g 
...  ... ... 

Я не могу представить, какие правильные подзапросы/объединения должны были бы сделать это. Любая помощь действительно ценится.

+1

'SELECT * FROM table1 JOIN table2 ИСПОЛЬЗОВАНИЕ (ключ)' – eggyal

ответ

0

Попробуйте это

выберите table1.zipCode, table1.key, table2.characteristics из table1 внутреннее соединение таблица2 на table1.key = table2.key

Ok ... Тогда попробуйте это.

select t1.zipcode, t1.keys, t2.character 
from table_1 t1 
full outer join Table_2 t2 on t1.keys = t2.keys 
+0

Благодарим вас за ответ Rwiti. С помощью этого запроса я получаю только характеристики, объединенные по одному ключу на несколько почтовых индексов, а также несколько ключей на zip. – max

+0

Отлично! Я не думаю, что MySQL любит полный внешние соединения, так что я просто использовал это, чтобы эмулировать одно: SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id UNION SELECT * FROM t1 RIGHT JOIN t2 ON t1 .id = t2.id И это сработало. Спасибо! – max

+0

ohh .. Я написал и протестировал этот запрос на MS SQL Server 2012. В любом случае, рад, что это помогло. – Rwiti

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