gpt4 book ai didi

sql - 在 WHERE 子句中使用 MYSQL GROUP_CONCAT

转载 作者:可可西里 更新时间:2023-11-01 06:53:14 26 4
gpt4 key购买 nike

是否可以将 GROUP_CONCAT 放在 MYSQL WHERE 子句中?

我有两张表(一张用于成员(member),一张用于支付信息)。例如

成员表

num, memNumber, fullName, coporateName, surname
001, mem0010, Joe Bloggs, NULL, Bloggs
002, mem0015, NULL, BBC
003, mem0017, John Peters, NULL
004, mem0101, Emma Jane, NULL

付款表

num, memberID, subscriptionYear, amount
001, mem0010, 2008, 30
003, mem0010, 2010, 40
004, mem0015, 2010, 40
005, mem0017, 2009, 35
006, mem0101, 2009, 35
007, mem0017, 2010, 40

我有以下查询来从两个表中检索信息(我已对其进行了简化以使其更具可读性)。

SELECT members.num, members.memNumber , members.fullName , members.corporateName ,
CONCAT(members.corporateName , members.surname) AS searchSurname ,
GROUP_CONCAT(payment.subscriptionYear) As subscriptionYear ,
GROUP_CONCAT(payment.amount) AS amount
FROM members
LEFT JOIN payment ON members.memNumber = payment.memberID
WHERE `subscriptionYear` NOT LIKE '%2009%'
GROUP BY members.num
ORDER BY `searchSurname` ASC

但是它从 subscriptionYear 列的结果中删除了“2009”。无法查看 2009 是否在结果 GROUP_CONCAT 中?

最佳答案

WHERE 发生在分组之前,你想使用 HAVING,它发生在分组之后。

关于sql - 在 WHERE 子句中使用 MYSQL GROUP_CONCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2014030/

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