首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于搜索两个表的Mysql查询结构

用于搜索两个表的Mysql查询结构
EN

Stack Overflow用户
提问于 2011-05-17 05:57:54
回答 3查看 125关注 0票数 0

我有两个表,结构如下:

代码语言:javascript
复制
Posts Table
id
content

Meta Table
id
post_id
content
name

posts表是主要的父表,可以将来自元表的数据与其连接

代码语言:javascript
复制
Post Table
id   content
1    My first row

Meta Table
id   post_id  content   name
4    1        2011-5-5    date
5    1        My Heading  heading
6    2        2012-3-3    date
7    2        My Title    heading

如何编写一个查询来搜索posts表中包含元数据内容2011-5-5、名称为date、标题名称为Heading的条目

我可以单独买到。

代码语言:javascript
复制
Select *
from posts, meta
WHERE post_id = posts.id
   AND (name='date' AND content='2011-5-5')

但是,只要我添加第二个条件,它就会返回零结果,因为我们要求name字段是两个不同的字段

代码语言:javascript
复制
Select *
from posts, meta
WHERE post_id = posts.id
   AND (name='date' AND content='2011-5-5') 
   AND (name='heading' AND content='My Heading')

如有任何帮助,将不胜感激,谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-17 06:03:08

您需要加入到表中两次:

代码语言:javascript
复制
SELECT *
FROM posts, meta m1, meta m2
WHERE posts.id=m1.post_id
AND posts.id=m2.post_id
AND m1.name="date" AND m1.content="2011-5-5"
AND m2.name="heading" AND m2.content="My Heading"
票数 1
EN

Stack Overflow用户

发布于 2011-05-17 06:00:27

你有没有试过这个:

代码语言:javascript
复制
Select *
from posts, meta, meta meta_2
WHERE (meta.post_id = posts.id
      and meta_2.post_id = posts.id)
   AND ((meta.name='date' AND meta.content='2011-5-5') 
       and (meta_2.name='heading' AND meta_2.content='My Heading'))

由于您希望将两个不同的meta记录与单个post记录相关联,因此您必须从meta中选择两次(一次用于“日期”元值,一次用于“标题”元值)。

票数 1
EN

Stack Overflow用户

发布于 2011-05-17 06:02:12

您需要连接到元表两次(每次搜索一次)-如下所示:

代码语言:javascript
复制
Select * 
from posts p 
 join meta m_date on m_date.post_id = p.id AND m_date.name='date'
 join meta m_heading on m_heading.post_id = p.id AND m_heading.name='heading'
where
 m_date.content = '2011-5-5' and
 m_heading.content = 'My Heading'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6023918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档