我有两张桌子,例如:
content
- id
- title
news
- id
- myTitle
所以我希望能够在content.title和news.myTitle中搜索相同的关键字,但是我不能使用连接,因为两个表之间没有外键。我尝试了几个不同的查询但没有返回我期望的结果,所以任何帮助将不胜感激。我只想要一个简单的LIKE查询来搜索两个表中的title / myTitle。
答案 0 :(得分:5)
select content.title, 'content' as src_table from content where title = 'keyword'
union
select news.myTitle, 'news' as src_table from news where myTitle = 'keyword'
答案 1 :(得分:4)
UNION在这件事上是你的朋友(背景阅读:http://dev.mysql.com/doc/refman/5.6/en/union.html)
(
SELECT
'content',
id,
title
FROM content
WHERE title LIKE '%.....%'
)
UNION
(
SELECT
'news',
id,
myTitle AS title
FROM news
WHERE myTitle LIKE '%.....%'
)
答案 2 :(得分:1)
怎么样?
select id, title from content
where title like '%blah%'
union all
select id, myTitle from news
where title like '%blah%'
请注意,如果您不使用union all
,那么您可能会丢失记录。目前尚不清楚您是否需要它。