我有這樣的代碼:不能得到子查詢裏面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