MYSQL从表1中选择条件来自第二个表

时间:2014-04-25 13:20:57

标签: mysql

我的第一张桌子名为emp,是一张员工桌,上面有姓名,电话号码,城镇等信息。

我的第二张桌子,名为loc一张城市表和他们所在的国家/地区 - 在此列表中,第一张表中的城市数量少于第一张表。 (城市名单的目的与atm无关)

我想提取一个名单和电话号码列表(从中选择),我使用select Name,Number from Full_list并且它有效 - 但我只希望它显示居住在“城市“我'loc'平板电脑中的列。如果可能的话,我也想让它显示国家。

我累了像

这样的东西
select Name,Number from Full_list where City from Cities

但它没有用。

编辑:想要添加精确的密钥以使这更简单

表1:

EmpList
name    number

表2:

Cities
city   country

这是我想要“检查”平板电脑1中的city列,如果匹配,我希望它出现。

第2栏country我也希望在可能的情况下出现。

TY

3 个答案:

答案 0 :(得分:1)

试试这个:

SELECT F.Name, F.Number 
FROM EmpList as E
INNER JOIN Cities as C ON (C.PRIMARY_KEY = E.FOREIGN_KEY)
WHERE C.cities LIKE '%YOUR CITY%';

更改表格键的键...

答案 1 :(得分:0)

由于您在这两个表之间没有任何关系,因此您必须加入城市名称。

试试这个:

SELECT Emp.Name,LOC.city,LOC,country
FROM Employee Emp INNER JOIN
     LOC on Emp.city=LOC.city
WHERE LOC.City LIKE '%London%'

答案 2 :(得分:0)

您可以在一个QUERY中使用两个SELECT语句:

SELECT E.Name, E.Number
FROM Emplist as E
WHERE E.CityName = (SELECT C.CityName FROM Cities as C WHERE C.CityName LIKE '%YourName%')

但最好使用的是INNER JOIN:

SELECT E.Name, E.Number 
FROM EmpList as E
INNER JOIN Cities as C ON (C.CityName = E.CityName )
WHERE C.CityName LIKE '%YOUR CITY%';
相关问题