MySQL查询以搜索主表和“子”表

吉他
* forum
forum_id
forum_subject
forum_description

* forum_message
forum_message_id
forum_id
forum_message_description

我正在寻找一个通过关键词搜索,它将在forum_subject和forum_message_description上搜索

我想出了明显的方法:

SELECT forum_subject, forum_description, forum_id FROM forum WHERE forum_subject LIKE '%keyword%'

但是我似乎无法弄清楚如何在forum_message上的同一查询上进行搜索,并仅从论坛表中返回信息……也许是子选择项?

谢谢你的帮助

萨纳卜

您正在寻找的是FULL OUTER JOIN,但是可悲的是,MySQL不直接支持这种命令。但是,可以使用UNION对其进行仿真。

SELECT forum.forum_id,forum.forum_subject,forum.forum_description
FROM forum 
WHERE forum.subject LIKE '%keyword%'

UNION

SELECT forum.forum_id,forum.forum_subject,forum.forum_description
FROM forum
INNER JOIN forum_message ON forum_message.forum_message_id = forum.id
WHERE forum_message.forum_message_description LIKE '%keyword%'

第一个查询将从论坛表中返回您的结果,并按主题列进行过滤。第二个查询也将返回来自论坛表的结果,但将由来自forum_message表中具有与您的关键字相似的forum_message_description的匹配行过滤。UNION命令合并两个查询中的行并删除重复项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL-从同一查询中的查找表和主表中的字段获取值

来自分类Dev

MYSQL-在同一查询中从查找表和主表中的字段获取值

来自分类Dev

MySQL子查询和临时表很慢

来自分类Dev

MySQL子查询和临时表很慢

来自分类Dev

使用案例和子查询MySql更新多个表

来自分类Dev

MySQL搜索和替换查询

来自分类Dev

MySQL单表子查询

来自分类Dev

通过查询子表和主表从主表获取数据

来自分类Dev

如何在mysql主表的单个查询中连接关系表中的值

来自分类Dev

MySql 查询 - 针对主表验证表中两列中的邮政编码

来自分类Dev

MySQL Round和子查询

来自分类Dev

MySQL JOIN表基于主表中的MAX(日期)和基于LIMIT的联接表中的MAX(id)

来自分类Dev

无法在 MySQL 表中搜索查询

来自分类Dev

使用链接表和源表 mysql 创建子查询

来自分类Dev

使用php和mysql搜索查询

来自分类Dev

SQL JOIN多个表和子查询

来自分类Dev

SQL子查询和表联接问题

来自分类Dev

使用子查询更新MySQL中的表

来自分类Dev

MySql子查询2张表

来自分类Dev

MySQL / MariaDB-查询通过引用表在表中搜索

来自分类Dev

MySQL搜索,结合表和元数据

来自分类Dev

mysql LEFT JOIN 主表和两个附加表,每个表都有最大值

来自分类Dev

LEFT JOIN 与子查询并访问 select 子句中的主表列

来自分类Dev

关于MySQL和PostgreSQL中的子查询

来自分类Dev

如何使用MySQL子查询和GROUP BY

来自分类Dev

MySQL-联接和子查询

来自分类Dev

MySql子查询作为列和别名

来自分类Dev

PHP和MySQL子查询的最佳做法

来自分类Dev

通过单个查询在文档和子文档中搜索Mongodb