首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将这两个MySQL选择查询组合成一个以防止循环?

问如何将这两个MySQL选择查询组合成一个以防止循环?
EN

Stack Overflow用户
提问于 2015-02-05 17:26:07
回答 1查看 30关注 0票数 1

我正在重写所有旧的mysql-函数到准备语句(PDO)。我还尝试重写所有sql循环,使查询变得“智能”,因此不再需要sql-循环。但是这次,我不知道怎么做到这一点。

用于搜索使用过的ip地址的简单SQL:

代码语言:javascript
复制
SELECT ip FROM log_ip WHERE spelerID = :spelerID

通常,我会对结果执行时间循环:对于找到的每一个ip地址,我都会执行一个新的sql搜索,以查找相同ip地址上的其他用户。

代码语言:javascript
复制
SELECT spelerID,naam FROM log_ip WHERE ip = :ip 

我找不到一个解决方案来创建一个查询,找到用户,使用相同的ip地址?提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 17:32:24

您可以使用LEFT OUTER JOIN,在本例中,它也是“自连接”:

代码语言:javascript
复制
SELECT l1.ip, l2.spelerID, l2.naam
FROM log_ip l1
LEFT OUTER JOIN log_ip l2
  ON l2.ip = l1.ip
  AND l2.spelerID <> l1.spelerID
WHERE l1.spelerID = :spelerID

现在,请注意,结果看起来与你可能习惯的略有不同。l1 ip值将重复。

您应该研究JOIN子句并循环应用程序中的结果,而不是循环查询。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28350289

复制
相关文章

相似问题

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