gpt4 book ai didi

php - MySQL LEFT JOIN 导致 "duplicate"行

转载 作者:行者123 更新时间:2023-12-01 00:42:28 25 4
gpt4 key购买 nike

我有表“客户”和“计划”,我想列出所有客户,无论他们是否有计划。我正在使用查询来做到这一点

SELECT customer.name, plan.goal
FROM customer
LEFT JOIN plan ON plan.customerid=customer.customerid
ORDER BY customer.name

我还想查看带有客户名称的目标 (plan.goal)。只要客户没有计划或只有一个计划,这就有效。如果客户有两个或更多计划,那么我会得到与计划一样多的客户名称行。

我想要的是最新计划中的 customer.name 和 plan.goal。我们可以假设 plan.planid 中较高的值是最新的计划。

我想我应该使用子查询和 INNER JOINS 一些方法,但我现在不明白...

最佳答案

SELECT c.name, 
( SELECT p.goal
FROM plan p
WHERE p.customerid=c.customerid
AND NOT EXISTS ( SELECT 'a'
FROM plan p2
WHERE p2.customerid = p.customerid
AND p2.planid > p.planId
)
)
FROM customer c

关于php - MySQL LEFT JOIN 导致 "duplicate"行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28840647/

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