2014-11-18 2 views
0

У меня есть таблица как tbl_employee с столбцами id, name, bco и wco соответственно. bco и wco имеют значения int в качестве их типа данных.Скалярный запрос для получения записей из 2 таблиц

У меня есть таблица tbl_country с колоннами РТВ страну

я Wnt, чтобы принести запись в

Name  Bco  WCO 
========================== 
Raj   India  USA 
+0

Я Git вопрос решен вопрос как ниже –

ответ

0

Это необходимо присоединиться к tbl_country два раза что-то, как показано ниже. Обратите внимание, что запрос использует inner join, поэтому оба bco и wco должны иметь соответствующую запись в таблице country, если нет, то просто используйте вместо этого left join.

select 
e.name, 
c1.country as Bco, 
c2.country as WCO 
from tbl_employee e 
join tbl_country c1 on c1.cid = e.bco 
join tbl_country c2 on c2.cid = e.wco 
0
SELECT tbl_employee.id,tbl_employee.name,tbl_country.countryName 
    as BCO,tbl_country.countryName as WCO 
FROM tbl_employee 
LEFT JOIN tbl_country ON tbl_country.id = tbl_employee.bco 
RIGHT JOIN tbl_country ON tbl_country.id = tbl_employee.wco 
0

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

SELECT tbl_employee.name AS name, lookup_bco.country AS Bco, lookup_wco.country AS WCO 
FROM tbl_employee 
INNER JOIN tbl_country AS lookup_bco ON tbl_employee.bco = lookup_bco.cid 
INNER JOIN tbl_country AS lookup_wco ON tbl_employee.wco = lookup_wco.cid 
+0

Хорошее замечание Abhik Чакраборти: «Обратите внимание, что запрос использует внутреннее соединение так как BCO и ВТамО должен иметь соответствующую запись в таблице страны, если вместо этого просто использовать левое соединение вместо этого. ' – Eddy

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