小编use*_*670的帖子

搜索两个表

我目前有两个表:

CREATE TABLE files_list
(
    'listid' INT, 
    'name' VARCHAR(25), 
    'synonym' VARCHAR(25), 
    'description' VARCHAR(25)
);

CREATE TABLE files_tags
(
    'tag_name' VARCHAR(25), 
    'listid' INT
);
Run Code Online (Sandbox Code Playgroud)

如果有人使用关键字"龙球",目前,我使用以下查询来搜索my_list以查找可能的匹配项:

SELECT * 
FROM files_list
WHERE name LIKE '%dragon%' 
OR synonym LIKE '%dragon%' 
OR description LIKE '%dragon%' 
OR name LIKE '%ball%' 
OR synonym LIKE '%ball%' 
OR description LIKE '%ball%' 
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用一个查询搜索两个表.我想向用户显示搜索结果中的以下数据:名称,同义词,描述和所有标签.

我的问题 1.有没有办法让当前的mysql查询更短?2.如何将其与files_tags表格结合使用,以显示files_list哪些行匹配files_tags但不在files_list?- 显示files_tags`中files_list匹配的files_list, but may not in行?

您可以在http://hsbsitez.com/上查看当前显示的结果

php mysql sql

6
推荐指数
1
解决办法
1061
查看次数

在MySQL查询中使用'distinct'

我有以下查询.

SELECT p.author_name, p.author_id,
DISTINCT p.topic_id, t.title
FROM `ibf_posts` p, `ibf_topics` t
WHERE p.topic_id = t.tid
ORDER BY pid DESC
LIMIT 8"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下MySQL错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT p.topic_id, t.title FROM `ibf_posts` p, `ibf_topics` t WHERE p' at line 1
Run Code Online (Sandbox Code Playgroud)

如果我删除DISTINCT关键字,那么查询工作没有问题.

我究竟做错了什么?

该方案来自Invision Power Board帖子和主题表.我想获得最新帖子的最后8个主题的标题.在最新的帖子列表中,我不希望同一主题出现多次.我想要一个独特的标题列表.

table:ibf_posts -pid -author_name -author_id -topic_id

table:ibf_topics -tid -title

tid与topic_id相同

mysql

0
推荐指数
1
解决办法
503
查看次数

标签 统计

mysql ×2

php ×1

sql ×1