gpt4 book ai didi

mysql - 在 JOIN 查询中使用 Mysql GROUP_CONCAT

转载 作者:行者123 更新时间:2023-11-29 18:09:05 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

'41,42,43,44,45,46,'

来自此查询:

SELECT 
GROUP_CONCAT(lv
SEPARATOR ',') as Id
FROM
(SELECT
@pv:=(SELECT
GROUP_CONCAT(Id
SEPARATOR ',')
FROM
iot_zone
WHERE
FIND_IN_SET(id_zone, @pv)) AS lv
FROM
iot_zone
JOIN (SELECT @pv:=40) tmp) a;

我需要将此结果加入到如下查询:

SELECT T.* FROM T, T2
WHERE T.Id = T2.Id

其中 T2 是包含 GROUP_CONCAT 结果的表

41
42
43
44
45
46

你能帮我吗?

非常感谢

最佳答案

尝试以下操作

CREATE TABLE T2(Id int);
INSERT T2(Id)VALUES(41),(42),(43);

SELECT *
FROM
(
SELECT '41,42,43,44,45,46,' Id
) T
JOIN T2 on CONCAT(',',T.Id) LIKE CONCAT('%,',T2.Id,',%')

我希望我正确理解了你的问题。

我发现了另一个变体 FIND_IN_SET - SELECT WHERE IN with GROUP_CONCAT as input

我认为它会更有用

SELECT *
FROM
(
SELECT '41,42,43,44,45,46,' IdList
) T
JOIN T2 ON FIND_IN_SET(T2.Id,T.IdList)

关于mysql - 在 JOIN 查询中使用 Mysql GROUP_CONCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47546301/

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