MYSQL查询-连接表和分组结果

时间:2019-11-20 16:31:08

标签: mysql

我正在寻求一份我正在设计的报告的帮助。 我的报告包含预订数据库的结果,我想在其中将每笔预订显示在一行上。但是,由于预订数据库有许多表,因此我的MYSQL查询涉及JOINS,这导致每次预订有多行。这是每个预订的“ dcea4_eb_field_values.field_value”的多个结果,导致重复的行。

这是我的查询

SELECT 
dcea4_eb_events.event_date,
dcea4_eb_events.title,
dcea4_eb_registrants.id,
dcea4_eb_registrants.first_name,
dcea4_eb_registrants.last_name,
dcea4_eb_registrants.email,
dcea4_eb_registrants.register_date,
dcea4_eb_registrants.amount,
dcea4_eb_registrants.comment,
dcea4_eb_field_values.field_id,
dcea4_eb_field_values.field_value
FROM dcea4_eb_events
INNER JOIN dcea4_eb_registrants ON dcea4_eb_registrants.event_id = dcea4_eb_events.id
INNER JOIN dcea4_eb_field_values ON dcea4_eb_field_values.registrant_id = dcea4_eb_registrants.id
WHERE 1=1 
AND (dcea4_eb_field_values.field_id = 14 OR dcea4_eb_field_values.field_id = 26 OR dcea4_eb_field_values.field_id = 27 OR dcea4_eb_field_values.field_id = 15)
AND dcea4_eb_registrants.published <> 2
AND dcea4_eb_registrants.published IS NOT NULL
AND (dcea4_eb_registrants.published = 1 OR dcea4_eb_registrants.payment_method = "os_offline")
[ AND (dcea4_eb_registrants.register_date {RegistrationDate} ) ]
[ AND REPLACE(dcea4_eb_events.title,'\'','') in ({Club}) ] 
ORDER BY dcea4_eb_registrants.register_date, 
dcea4_eb_events.title

这是当前输出的样子 current result

这就是我想要的样子 desired result

任何帮助表示赞赏

0 个答案:

没有答案