我有这样的代码:不能得到子查询里面CONCAT工作
GROUP_CONCAT(
CONCAT(
DATE_FORMAT(je.date_entered, '%m/%d/%Y - %h:%i%p'),
' by ',
'\n',
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(je.description, '<br />', '\n'),
''', '\''),
'"', '"'),
'<', '<'),
'>', '>')
),
'\n\n' ORDER BY je.date_entered DESC SEPARATOR ''
) AS enteries
它工作正常。当我添加此子查询:
' by ', (SELECT first_name FROM users WHERE id = je.created_by),
导致该集团的毗连:
GROUP_CONCAT(
CONCAT(
DATE_FORMAT(je.date_entered, '%m/%d/%Y - %h:%i%p'),
' by ',
(SELECT first_name FROM users WHERE id = je.created_by),
'\n',
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(je.description, '<br />', '\n'),
''', '\''),
'"', '"'),
'<', '<'),
'>', '>')
),
'\n\n' ORDER BY je.date_entered DESC SEPARATOR '')
AS enteries
它打破了整个党的事情,导致没有错误,只是返回null。
这看起来毛茸茸的纠结,但我没有在PHP中把一切融合在一起的选项 - 它必须全部在MySQL在选择过程中完成的。
p.s.我没有发布输入查询,因为它很可笑,但我可以,如果你想要我。
的愚蠢的问题:对je.created_by的所有情况下,在用户表中的有效用户?意思是,从来没有一个NULL created_by或超出索引值的范围? – 2012-04-02 19:35:38
关于p.s.谢谢,但张贴的部分就够荒谬的,因为它是:) – 2012-04-02 19:37:11
是...这就是我最初的想法是,也许je.created_by接触什么,但它包含的价值......当我运行---- GROUP_CONCAT(JE .created_by),'\ n \ n'ORDER BY je.date_entered DESC SEPARATOR'')作为enteries ----它返回正确的值。 – Banning 2012-04-02 19:37:21