gpt4 book ai didi

mysql - 子查询mysql从三个表中获取相关数据

转载 作者:行者123 更新时间:2023-11-30 00:38:52 26 4
gpt4 key购买 nike

我正在从 3 个表中获取相关数据。

useraccdetails列中包含用户帐户交易和订单ID。这是在 details 列中查找“gift%”的查询运行的基本表...

"SELECT * FROM `useracc` WHERE `details` LIKE 'gift%' ORDER BY `id` DESC"

现在我想从 details 列中的这些结果中获取订单 ID,该 ID 为“礼品订单 id:245”。我想要这个 245 并运行另一个查询在第二个表中查找 245,即 transaction。我想获取表transaction中的列senderemail,其中列orderid是245。假设这返回abc@abc.com

现在在第三个表中,即users,我想找到与该电子邮件相关的用户名。我想运行查询来获取表 users 中的列 username,其中 useremail 是 abc@abc.com。

此用户名将显示在包含第一个查询结果的表格格式的每一行中

我如何使用子查询来做到这一点。请帮忙

最佳答案

SELECT u.username, ua.*
FROM useracc AS ua
JOIN transaction AS t ON ua.details = CONCAT('gift order id:', t.id)
JOIN users AS u ON u.useremail = t.senderemail
WHERE ua.details LIKE 'gift order id:%'
ORDER BY ua.id DESC

WHERE 子句并不是绝对必要的,因为它与 ON 条件是多余的。但它可能会加快查询速度——尝试使用和不使用它,看看哪个更快。

关于mysql - 子查询mysql从三个表中获取相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952512/

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