使用包含相似但不相同的值的列连接两个表

时间:2013-01-12 10:19:28

标签: sql sqlite

我有两个表,第一个有4列,如:

ID NAME COUNTRY FILTERID

,第二个列有两列,如:

ID COUNTRY

我想使用此查询:

SELECT F.Name
FROM   First as F, Second AS S
WHERE  F.Filterid = S.S_Id 
  AND  F.Country = S.Country

S.Country包含Japan,Usa,但F.Country仅包含Japan

请建议解决方案。

3 个答案:

答案 0 :(得分:0)

为此,您必须编写JOIN查询,因为您希望从两个表中获取项目....

你可以使用喜欢,

SELECT F.Name FROM First F JOIN Second S ON F.Country=S.Country

答案 1 :(得分:0)

如果使用sql,可以使用JOINS 对于例如 从table_one中选择*作为一个 INNER JOIN(在连接表格以供参考here之前,您必须知道不同的连接目的) table_two为两个 ON one.some_value_of_column_in_table_one = two.some_value_of_column_in_table_two 感谢。

答案 2 :(得分:0)

如果一个国家/地区字段是另一个国家/地区的子字符串,请使用INSTR function

SELECT F.Name FROM First AS F, Second AS S WHERE F.Filterid=S.id AND INSTR(S.Country, F.Country) > 0

如果在F.Country内发生S.Country,则会返回记录(显然,如果是F.Filterid=S.id,则会返回原始SQL)。

或者您也可以将其构建为JOIN:

SELECT F.Name FROM First AS F JOIN Second AS S ON F.Filterid=S.id AND INSTR(S.Country, F.Country) > 0
相关问题