簡體   English   中英

PHP MySQL將來自不同行的單元格組合在一起

[英]PHP MySQL combine cells from different row with same value

我有一個數據庫,其中包含身份證號碼,姓名,課程期限和教師姓名。 每行包括學生的ID,姓名,期間和教師,這意味着每個學生有多行。 那不是我的問題。 我的問題是有些班級列出了兩個教師......這意味着1個班級有兩個獨立的行,每個教師一個。 不幸的是,我無法控制數據的格式,因為它是從沒有很多格式選項的系統導出的。

這是一個例子,注意第23和24行是針對同一個班級和學生的,但唯一不同的是教師姓名。

pk  id      last    first   period  teacher
14  12345   Smith   John    3       HARRIS
15  12345   Smith   John    8       LEAL
17  12345   Smith   John    1       HOUSTON
23  56789   Doe     Jane    8       MERCER
24  56789   Doe     Jane    8       RUIZ
25  56789   Doe     Jane    3       BECK
26  56789   Doe     Jane    1       STEED

我想將具有相同句號和學號的兩行合並為一行。 所有信息都保持不變,除了兩個不同的教師姓名將被合並為“Mercer&Ruiz”之類的東西。 理想情況下,最終結果看起來像,

24  56789   Doe Jane    8   MERCER & RUIZ

這可能使用PHP和/或MySQL嗎? 我不是在尋找任何人編寫整個代碼或任何東西。 我似乎無法想到實現它的方法。 我對任何方向/指示方式都很滿意。

一如既往,感謝您的時間和幫助。

SELECT  MAX(pk), 
        ID,
        `last`, 
        `first`,
        GROUP_CONCAT(teacher SEPARATOR ' & ') teachers
FROM    tableName
// WHERE clause here...
GROUP BY `last`, `first`, `Period`
// ORDER BY clause here....

SOOURCE

SELECT pk,id,last,first,period GROUP_CONCAT(teacher) 
FROM table 
GROUP BY id, first,last,period

應該做你需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM