1
我想返回一个结果集,其中包含另一个表中动态字段的分隔列表。它似乎工作,但结果只返回一行,即使我复制同一行多次。加入GROUP_CONCAT只返回1行
这里是我的查询:
SELECT export_rules.*, GROUP_CONCAT(CAST(CONCAT(export_rule_fields.key, ': ', export_rule_fields.value) AS char) SEPARATOR '|') AS fields FROM export_rules
JOIN export_rule_fields ON export_rules.id = export_rule_fields.export_rule_id
WHERE export_rules.output_type = "email"
AND (export_rules.frequency = "daily"
AND export_rules.last_execution < TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 DAY))
AND (export_rules.cron_expression = "25 11 * * *"
OR export_rules.cron_expression = "30 11 * * *"))
OR (export_rules.frequency = "weekly"
AND export_rules.last_execution < TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 WEEK))
AND (export_rules.cron_expression = "25 11 * * 5"
OR export_rules.cron_expression = "30 11 * * 5"))
OR (export_rules.frequency = "monthly"
AND export_rules.last_execution < TIMESTAMP(DATE_SUB(NOW(), INTERVAL 1 MONTH))
AND (export_rules.cron_expression = "25 11 15 * *"
OR export_rules.cron_expression = "30 11 15 * *"))
GROUP BY export_rules.id
它应该由它们相应的表达抢crons的列表(部分作品),然后将它们吐出的田地,但我认为GROUP_CONCAT或事实对于每个导出规则而言,联接都有多行将其抛出。
或者它是'group by'不工作,因为你期待它? – 2013-02-15 18:40:56