我有两个表,第一个有 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
。
请提出解决方案。
为此,您必须编写JOIN
查询,因为您想从两个表中获取项目......
你可以使用喜欢,
SELECT F.Name FROM First F JOIN Second S ON F.Country=S.Country
如果您正在使用 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 谢谢。
如果一个国家/地区字段是另一个国家/地区的子字符串,请使用以下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