我想用逗号分隔特定的日子,所以使用组联系人。我的查询是这样的
select doc,group_concat(tab.days) as group_days FROM tab where doc='G9AoP58ENTOwGBqo' AND FIND_IN_SET('sun',group_days);
但不会出错。
#1054 - Unknown column 'group_days' in 'where clause'
答案 0 :(得分:1)
您可以尝试以下操作-使用group_concat(tab.days)
作为FIND_IN_SET()
函数的参数而不是别名
select * from
(
select doc,group_concat(tab.days) as group_days FROM tab
where doc='G9AoP58ENTOwGBqo'
group by doc
)A
where FIND_IN_SET('sun',group_days);
答案 1 :(得分:0)
您不能在where,Group By,Order by子句的select内使用列别名。您需要使用子查询这一点。检查我的回答如下:
以这种方式尝试
select
doc,
group_concat(tab.days) as group_days
FROM tab
where
doc='G9AoP58ENTOwGBqo' AND
FIND_IN_SET('sun',group_concat(tab.days));
或者
select * from
(
select
doc,
group_concat(tab.days) as group_days
FROM tab
where
doc='G9AoP58ENTOwGBqo'
)
where
FIND_IN_SET('sun',group_days );