找回密码
 立即注册

QQ登录

只需一步,快速开始

左一

高级会员

162

主题

380

帖子

1642

积分

高级会员

积分
1642

[处理中] SQL语句的问题

左一
高级会员   /  发表于:2024-12-26 09:17  /   查看:49  /  回复:5
本帖最后由 左一 于 2024-12-26 09:27 编辑

在论坛里找到一个历史记录表的功能,帮你打开活字格更神奇的功能:一百一十六,历史记录表的创建 (新)
https://gcdn.grapecity.com.cn/showtopic-184587-1-1.html
(出处: 葡萄城开发者社区)
想按这个做一个操作日志表,但在写SQL上遇到了问题。这是数据表的内容(图一)。然后我把里面新增和删除的内容写成了视图,按AI给的写法写的。
  1. SELECT
  2.     主键, -- 替换为实际的主键列名
  3.     GROUP_CONCAT(CASE WHEN 列名 = '员工ID' THEN 原值 ELSE NULL END) AS 员工ID, -- 替换为实际的原值列名
  4.     GROUP_CONCAT(CASE WHEN 列名 = '员工ID号' THEN 原值 ELSE NULL END) AS 员工ID号,
  5.     GROUP_CONCAT(CASE WHEN 列名 = '毕业院校ID' THEN 原值 ELSE NULL END) AS 毕业院校ID,
  6.     GROUP_CONCAT(CASE WHEN 列名 = '毕业时间' THEN 原值 ELSE NULL END) AS 毕业时间,
  7.     GROUP_CONCAT(CASE WHEN 列名 = '专业ID' THEN 原值 ELSE NULL END) AS 专业ID,
  8.     GROUP_CONCAT(CASE WHEN 列名 = '学历ID' THEN 原值 ELSE NULL END) AS 学历ID,
  9.     操作,
  10.     操作人,
  11.     操作时间,
  12.     表名,
  13.     ID
  14. FROM
  15.     数据表操作日志
  16. WHERE 操作 = "删除"
  17. GROUP BY
  18.     主键; -- 替换为实际的主键列名
复制代码
然后就得到了图二、图三。最后我把这3个表组合成一个表,图四。问题是存的值一个是文本格式,一个是整数,没办法统一查询。图五请问应该怎么办,或是有什么更方便的办法达到想要的效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
amtath悬赏达人认证 活字格认证
论坛元老   /  发表于:昨天 10:11
沙发
你告诉ai,把某个字段强制转换为整型
回复 使用道具 举报
左一
高级会员   /  发表于:昨天 11:06
板凳
AI解决不了。反正也不知道对不对吧,我看视图里的字段全是文本格式,所以我把表中的整数字段也调成了文本格式。这样就统一了,可以达到效果了。
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:昨天 11:53
地板
大佬,数据表操作日志这边看您已经把字段类型都统一为文本了,如果满足需求的话就好;或者也可以考虑参考市场上的这个应用的方案:数据表操作日志 - 葡萄城市场,有一个现成的demo可以使用。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
凯神Jump + 5

查看全部评分

回复 使用道具 举报
左一
高级会员   /  发表于:昨天 14:06
5#
Shawn.Liu 发表于 2024-12-26 11:53
大佬,数据表操作日志这边看您已经把字段类型都统一为文本了,如果满足需求的话就好;或者也可以考虑参考市 ...

我想做到的是对表中每一行数据的监控,包括对每一行数据对应的子表的数据监控。最终按时间顺序做到一个图文列表里。
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:昨天 16:02
6#
左一 发表于 2024-12-26 14:06
我想做到的是对表中每一行数据的监控,包括对每一行数据对应的子表的数据监控。最终按时间顺序做到一个图 ...

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部