MySql group_concat作为整数列表,而不是字符串
我正在尝试创建一个子查询,它将在另一个子查询“in”语句中使用。我想选择一组值,并从选择列表中创建一个以逗号分隔的列表。我的代码似乎可以工作,除了,它作为字符串列表返回,但我需要一个整数列表。以下是我所拥有的:MySql group_concat作为整数列表,而不是字符串,mysql,sql,Mysql,Sql,我正在尝试创建一个子查询,它将在另一个子查询“in”语句中使用。我想选择一组值,并从选择列表中创建一个以逗号分隔的列表。我的代码似乎可以工作,除了,它作为字符串列表返回,但我需要一个整数列表。以下是我所拥有的: SELECT GROUP_CONCAT(t.MyCol SEPARATOR ',') FROM activities_themes t where t.PrimaryCol= 87 GROUP BY t.PrimaryCol 正如我所说,它返回预期的结果,但作为字符串。当我复制
SELECT
GROUP_CONCAT(t.MyCol SEPARATOR ',')
FROM
activities_themes t
where t.PrimaryCol= 87
GROUP BY t.PrimaryCol
正如我所说,它返回预期的结果,但作为字符串。当我复制结果并将其粘贴到文本编辑器中时,整个字符串周围都有单引号。有人知道我如何在不加引号的情况下以整数形式返回结果吗?这需要用于SQL语句,而不是存储过程
已添加
全文如下:
SELECT
themes.Theme
from
themes as themes
where
themes.ThemesID in
(
SELECT
GROUP_CONCAT(t.MyCol SEPARATOR ',')
FROM
activities_themes t
where t.PrimaryCol= 87
GROUP BY t.PrimaryCol
)
如果我运行内部子查询,我会得到如下列表:2,3,5,7,8。如果我用复制的列表替换子查询,它就可以正常工作。我得到一个值列表。但是,如果我按原样运行代码,它将只返回子查询的第一个值。如果您只运行以下命令,根据@dwjw的注释,如何:
SELECT
themes.Theme
from
themes as themes
where
themes.ThemesID in
(
SELECT
t.MyCol
FROM
activities_themes t
where t.PrimaryCol= 87
)
值周围不应该有引号。您是否可以将查询放在“in”部分:…WHERE somethin in(SELECT…)这就是我所做的,但它只返回第一个值。我将附加我的问题以反映这一点:您的意思是字符串中有引号,在逗号周围,还是只有两个引号,在开头和结尾?在我看来,这是后者。或者,你能告诉我们你得到了什么和你想要得到什么吗?丹尼尔,开头和结尾都只有一个。谢谢,我举了这个例子,把小组从中移除,它成功了!好吧,很高兴能帮上忙,到时候我也会删除该组,准确地说:)