0

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

ID NAME COUNTRY FILTERID

第二个有 2 列,如:

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

请提出解决方案。

4

3 回答 3

0

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

你可以使用喜欢,

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

于 2013-01-12T10:24:05.683 回答
0

如果您正在使用 sql,您可以使用 JOINS 例如 Select * from table_one 作为一个 INNER JOIN(在使用加入表之前,您必须知道不同的连接目的以供参考) table_two作为两个 ON one.some_value_of_column_in_table_one = two.some_value_of_column_in_table_two 谢谢。

于 2013-01-12T10:35:00.560 回答
0

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

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
于 2013-01-12T14:49:07.300 回答