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

标签 php mysql

我有一个表名 tblnetworkstatus 并且有 11 列

  1. 身份证
  2. 问题名称
  3. 受影响的服务器
  4. 受影响的服务
  5. 问题类型
  6. 优先级
  7. 持续时间
  8. 状态
  9. 开始日期
  10. 结束日期
  11. 描述

我的表中有如下记录

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

但我想要 Monitor Server,server_name 的 server1 和 Amazon S3,产品名称的托管帐户

最佳答案

尝试一下-

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

关于php mysql查询仅获取列中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31263248/

相关文章:

php - 加载 PHP 的 PDO 驱动程序的正确方法?

mysql - 处理一个巨大的 MYSQL 表

javascript - dropzone 阻止单击按钮时提交表单

Javascript CopytoClipboard 函数仅复制 1 行

javascript - 用于验证比率的正则表达式,例如 Y39.29/28h

mysql - 在mysql中将负值转换为零

java: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '?' 附近使用的正确语法

php - HTML : P Tag height exceeding parent DIV tag height

php - 使用 PDO 传递 %like% 参数的正确方法?

php - 在浏览器上使用php查看存储在数据库中的文件