php mysql查询只获取列中的第一个值

php mysql查询只获取列中的第一个值,php,mysql,Php,Mysql,我有一个表名tblnetworkstatus,有11列 身份证 发行人姓名 受影响的\u服务器 受影响的服务 问题类型 优先权 持续时间 地位 开始日期 结束日期 描述 我的表中有以下记录 id issue_name affected_server affected_service issue_type 1 testing network 2,3 6,7 failure 我从tblpro

我有一个表名tblnetworkstatus,有11列

  • 身份证
  • 发行人姓名
  • 受影响的\u服务器
  • 受影响的服务
  • 问题类型
  • 优先权
  • 持续时间
  • 地位
  • 开始日期
  • 结束日期
  • 描述
  • 我的表中有以下记录

    id  issue_name         affected_server  affected_service    issue_type      
    1   testing network     2,3             6,7                  failure
    
    我从tblproducts和tblserver表中得到受影响的服务器和服务id我有以下查询,其中我只得到id=2的第一个受影响的服务器名称和id=6的受影响的服务名称我想检查受影响的服务器2,3和受影响的服务6,7的两个值我有以下查询我

    SELECT 
                m.issue_name,m.id ,m.issue_type ,
                m.priority ,m.status,m.description ,
                m.start_date,m.end_date,m.duration,
                s.name  as server_name,p.name as product_name
                from mod_networkstatus as m 
                LEFT JOIN  tblservers as  s  ON  m.affected_server=s.id
                LEFT JOIN tblproducts as  p  ON  m.affected_service=p.id    where m.id=1
    
    从这里我只得到了这个结果

    issue_name          server_name     product_name    
    testing network     Monitor Server  Amazon S3
    
    但是我想要监视服务器,服务器名称为server1,产品名称为amazons3,托管帐户,试试看-

    SELECT 
                m.issue_name,m.id ,m.issue_type ,
                m.priority ,m.status,m.description ,
                m.start_date,m.end_date,m.duration,
                s.name  as server_name,p.name as product_name
                from mod_networkstatus as m 
                LEFT JOIN  tblservers as  s  ON  find_in_set(s.id,m.affected_server)
                LEFT JOIN tblproducts as  p  ON  find_in_set(p.id,m.affected_service) where m.id=1
    
    编辑1:

    SELECT 
                m.issue_name,m.id ,m.issue_type ,
                m.priority ,m.status,m.description ,
                m.start_date,m.end_date,m.duration,
                GROUP_CONCAT(s.name) AS server_name,
                GROUP_CONCAT(p.name) AS product_name 
                FROM mod_networkstatus AS m 
                LEFT JOIN  tblservers AS  s  ON  FIND_IN_SET(s.id,m.affected_server)
                LEFT JOIN tblproducts AS  p  ON  FIND_IN_SET(p.id,m.affected_service) 
                WHERE m.id=1 
                GROUP BY m.id
    

    它给出了可能的结果,但在不同的行中,但我希望在具有相同列的单行中server\u name=Monitor server,server1使用group\u concat函数在同一行中获得结果。