我有三张桌子。 家长,学生, student_parent '
父
的p_id
p_name
学生
S_ID
s_name
student_parent
S_ID
P_ID
我想以下列格式为报告功能形成一个新表。
s_id | s_name | p_name_1 | p_name_2
由于为一个学生(如母亲和父亲)创建了两个记录,我希望将这两个记录同时带到一个s_id的单个表中。目前我有一个这样的表,
p_id | s_id | s_name | p_name
01 | 01 | sam | jack
02 | 01 | sam | jill
我希望表格符合以下结构。
s_id | s_name | p_name_1 | p_name_2
01 | sam | jack | jill
我搜索过但找不到合适的解决方案。
这是我的curremt sql语句:
SELECT s.student_id, s.first_name, s.last_name, c.first_name
FROM fsms_student s, fsms_student_parent_guardian b, fsms_parent_guardian c
WHERE b.student_id = s.student_id AND b.parent_guardian_id = c.parent_guardian_id
如果有人能为我提供解决方案,我将非常感激。谢谢。
答案 0 :(得分:0)
为什么,你已经有了解决方案:
CREATE TABLE newTable
SELECT
s.student_id as s_id,
concat(s.first_name, " ",s.last_name) as s_name,
count(distinct b.parent_guardian_id) as parentCount,
GROUP_CONCAT(p_name)
FROM
fsms_student s, fsms_student_parent_guardian b, fsms_parent_guardian c
WHERE
s.student_id = b.student_id
AND b.parent_guardian_id = c.parent_guardian_id
GROUP BY 1,2