表结构如下所示:
表:购买者列: id、组织、城市、城市、州
表:事件列: id = purchaser_id
My查询:
SELECT purchasers.*, events.id AS event_id
FROM purchasers
INNER JOIN events ON events.purchaser_id = purchasers.id
WHERE purchasers.id = '$id'显然,我想做的是从购买者表中选择条目,并从事件中加入。这是最简单的部分。我还可以轻松地到另一个查询,以获得具有相同组织、城市和州(有倍数)的其他购买者,但我想在同一个查询中完成所有这些。有什么办法我能做到吗?
简单地说,用他们的身份证来抓取购买者,然后选择有相同组织、城市和州的其他购买者。
谢谢。
发布于 2010-04-07 03:38:41
你可以试试
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进行此操作,因此您需要如下所示
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.statehttps://stackoverflow.com/questions/2589839
复制相似问题