2013-06-28 4 views
-1

У меня есть 2 таблицы f11 eacode, HCN, shsn является уникальнымПрисоединяйтесь другими таблицы с выбранной колонкой

f11 : eacode | hcn | shsn | age | sex | psc 
f22 : eacode | hcn | shsn | etc | etc 

я хочу получить в f11 таблице секса PSC возраста и сопоставим их F22 eacode, HCN, shsn и все столбцы.

я попытался

SELECT age,psc,sex 
FROM f11 
RIGHT JOIN f22 
ON f11.eacode=f22.eacode; 

но видеть только возраст, пол, PSC извините за мой плохой английский

+0

Вы видите то, что вы выбираете. – Achrome

+1

Вы написали 'SELECT age, psc, sex'; ', но он видит только возраст, пол, psc'. Что именно вы ожидаете? – Nikola

+0

Я ХОЧУ НА СТОЛ F22 БУДЕТ ВСЕ столбцы с колонками на F11, который является ТОЛЬКО AGE ПОЛ И PSC – newbieNoob

ответ

0

Вам не нужно использовать RIGHT JOIN здесь, потому что она будет перечислять все записи в таблице f22 даже если eacode не совпадают.

Что вам нужно, это INNER JOIN.

SELECT a.age, a.psc, a.sex, 
     b.*      -- << this will select all columns in F22 
FROM f11 a 
     INNER JOIN f22 b 
      ON a.eacode = b.eacode AND 
       a.hcn = b.hcn AND 
       a.shsn = b.shsn 

Для дальнейшего получить больше знаний о соединяющую, любезно перейдите по ссылке ниже:

+0

это будет соответствовать HCN и shsn также? – newbieNoob

+0

нет, только 'eacode '. Если вы хотите совместить с двумя другими, у вас должно быть составное условие, например:' a.eacode = b.eacode AND a.hcn = b.hcn AND a.shsn = b.shsn' –

+0

это не Я хочу также совместить это три eacode, hcn, shsn – newbieNoob