gpt4 book ai didi

mySQL Query JOIN 在同一张表中

转载 作者:行者123 更新时间:2023-11-29 07:14:12 25 4
gpt4 key购买 nike

表结构是这样的:

表:购买者 列:id |组织 |城市 |状态

表:事件 列:id |采购商编号

我的查询:

SELECT purchasers.*, events.id AS event_id 
FROM purchasers
INNER JOIN events ON events.purchaser_id = purchasers.id
WHERE purchasers.id = '$id'

我想做的,显然是从购买者表中按 ID 选择条目并从事件中加入。这是最简单的部分。我也可以很容易地通过另一个查询来获得具有相同组织、城市和州(有多个)的其他购买者,但我想在同一个查询中完成所有这些。我有办法做到这一点吗?

简而言之,通过 ID 抓取购买者,然后选择具有相同组织、城市和州的其他购买者。

谢谢。

最佳答案

你可以尝试类似的东西

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

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

编辑:

更改了查询,这仍然会返回重复项,但仅限于每个购买者注册的事件数。如果您希望检索DISTINCT 购买者列表,您不能使用事件 ID 执行此操作,因此您需要像

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

关于mySQL Query JOIN 在同一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com