这在输出时将多行合并为一个真正的问题:
我有三个表,表一(tableA)包含用户数据,如姓名和电子邮件,另一个(tableB)标记,如果他们希望收到电子邮件或短信通知,最后一个表(tableC)注明他们需要哪种类型的通知四种类型。
tableA和tableB为每个用户提供单行,但tableC最多可包含4个条目。
是否有可能将tableC的多个条目连接到单行返回,另外还有我其他两个表中的其他数据。也许在行中建立一些逗号分隔的字段?
我目前将此作为我的mySQL查询:
SELECT
ppf.page_id,
prv.`name`,
prv.surname,
prv.email,
prv.mobile,
ppf.email,
ppf.sms,
page_profile_noticetypes.noticetype
FROM
page_registration_value AS prv
Inner Join page_profile_value AS ppf ON prv.page_id = ppf.user
Inner Join page_profile_noticetypes ON page_profile_noticetypes.page_id = ppf.page_id
WHERE ppf.sms = 1 OR ppf.email = 1
以下是我获得的一些屏幕截图,然后是我希望拥有的内容(或类似内容)
What I get image http://strangemother.com/ex1.JPG
What I would like http://strangemother.com/ex2.JPG
答案 0 :(得分:0)
@itsadok回答了它 - 结果:
SELECT
ppf.page_id,
prv.`name`,
prv.surname,
prv.email,
prv.mobile,
ppf.email,
ppf.sms,
GROUP_CONCAT(page_profile_noticetypes.noticetype)
FROM
page_registration_value AS prv
Inner Join page_profile_value AS ppf ON prv.page_id = ppf.user
Inner Join page_profile_noticetypes ON page_profile_noticetypes.page_id = ppf.page_id
WHERE ppf.sms = 1 OR ppf.email = 1
GROUP BY prv.email