gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:30:35 25 4
gpt4 key购买 nike

我有一个表名 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com