首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一个表中的mySQL查询连接

同一个表中的mySQL查询连接
EN

Stack Overflow用户
提问于 2010-04-07 03:34:17
回答 1查看 808关注 0票数 1

表结构如下所示:

表:购买者列: id、组织、城市、城市、州

表:事件列: id = purchaser_id

My查询:

代码语言:javascript
运行
复制
SELECT purchasers.*, events.id AS event_id 
FROM purchasers 
INNER JOIN events ON events.purchaser_id = purchasers.id 
WHERE purchasers.id = '$id'

显然,我想做的是从购买者表中选择条目,并从事件中加入。这是最简单的部分。我还可以轻松地到另一个查询,以获得具有相同组织、城市和州(有倍数)的其他购买者,但我想在同一个查询中完成所有这些。有什么办法我能做到吗?

简单地说,用他们的身份证来抓取购买者,然后选择有相同组织、城市和州的其他购买者。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-07 03:38:41

你可以试试

代码语言:javascript
运行
复制
SELECT  p.*, 
         e.id
FROM    purchasers p  INNER JOIN 
        events e ON e.purchaser_id = p.id  INNER JOIN
        (
            SELECT  p.*
            FROM    purchasers p
            WHERE   p.id = '$id'
        ) Original  ON  p.organization = Original.organization
                    AND p.city = Original.city
                    AND p.state = Original.state

子选择的原件将返回原始购买者,然后按组织、城市和州链接到购买者表。

编辑:

更改查询后,仍然会返回重复的查询,但只返回每个购买者注册的事件数。如果您希望检索不同的购买者列表,则不能使用事件id进行此操作,因此您需要如下所示

代码语言:javascript
运行
复制
SELECT  p.*
FROM    purchasers p  INNER JOIN 
        (
            SELECT  p.*
            FROM    purchasers p
            WHERE   p.id = '$id'
        ) Original  ON  p.organization = Original.organization
                    AND p.city = Original.city
                    AND p.state = Original.state
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2589839

复制
相关文章

相似问题

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