3

我有两个带有列的表:

Genres  
  ID  
  genre

Adjectives
  ID
  adjective_title

我需要使用like语法从两个表列返回匹配值的选择。

例如,如果ep是使用结果输入的值,like则如下所示:

result_column:
--------------
epiphonic -- (from genres table)
epic      -- (from adjectives table)

等等 。. .

我很确定我需要使用子查询来返回结果。

4

2 回答 2

8

试试这个

SELECT genre AS result
FROM genres
WHERE genre LIKE '%ep%'
UNION
SELECT adjective_title AS result
FROM 
  adjectives
WHERE adjective_title LIKE '%ep%'

联合将消除每个查询中的重复项,对每个查询使用 UNION ALL。

于 2009-10-12T14:11:50.383 回答
0

您可以在没有子选择的情况下执行此操作,但在大型表上不会很快,通过使用 concat 构建您使用 like 运算符的字符串:

select g.ID, g.genre, a.adjective_title from Genres g, Adjectives a where
concat(g.genre, a.adjective_title) like '%epic%'
于 2009-10-12T14:18:30.497 回答