首页 > 解决方案 > 想要使用 php 和 mysql 在单行中执行今天的员工任务

问题描述

想要在一行中显示名称、项目名称和日期。

╔═══════╦════════════════╦═══════════════╦════════╗
║ name  ║    empid       ║ projectname   ║ date   ║
╠═══════╬════════════════╬═══════════════╬════════╣
║ krish ║      1         ║        Num. 1 ║12/5/19 ║
║ krish ║      1         ║        Num. 2 ║11/5/19 ║
║ krish ║      1         ║        Num. 3 ║11/5/19 ║
║ krish ║      1         ║        Num. 4 ║11/5/19 ║
║ selva ║      2         ║        Num. 5 ║12/5/19 ║
║ selva ║      2         ║        Num. 6 ║11/5/19 ║
╚═══════╩════════════════╩═══════════════╩════════╝

我有这样的表,但我想显示

╔═══════╦════════════════╦═══════════════=╦════════╗
║ name  ║    empid       ║ projectname    ║ date   ║
╠═══════╬════════════════╬══════════════=═╬════════╣
║ krish ║      1         ║        Num. 1  ║12/5/19 ║
║ krish ║      1         ║Num.2,Num3,Num 4║11/5/19 ║ 
║ selva ║      2         ║        Num. 5  ║12/5/19 ║
║ selva ║      2         ║        Num. 6  ║11/5/19 ║
SELECT tblprojects.id as pid,tblemployees.FirstName,tblemployees.LastName,tblemployees.EmpId,tblemployees.id,tblprojects.Project,tblprojects.PostingDate,tblprojects.Status 
from tblprojects 
join tblemployees 
  on tblprojects.empid=tblemployees.id 
order by pid desc
╔═══════╦════════════════╦═══════════════=╦════════╗
║ name  ║    empid       ║ projectname    ║ date   ║
╠═══════╬════════════════╬══════════════=═╬════════╣
║ krish ║      1         ║        Num. 1  ║12/5/19 ║
║ krish ║      1         ║Num.2,Num3,Num 4║11/5/19 ║ 
║ selva ║      2         ║        Num. 5  ║12/5/19 ║
║ selva ║      2         ║        Num. 6  ║11/5/19 ║

标签: phpmysql

解决方案


GROUP_CONCAT用于通过 concat 在单个字符串中连接结果

SELECT tblprojects.id as pid,tblemployees.FirstName,tblemployees.LastName,tblemployees.EmpId,tblemployees.id,GROUP_CONCAT(tblprojects.Project),tblprojects.PostingDate,tblprojects.Status 
from tblprojects 
join tblemployees 
  on tblprojects.empid=tblemployees.id 
GROUP BY tblprojects.PostingDate
order by pid desc

推荐阅读