You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL基于TNM字段组合生成派生Stage列的技术求助

解决方案:生成TNM分期派生列

在MySQL中,你可以使用CASE WHEN语句根据三个TNM字段的组合匹配对应分期,同时保留原字段,这种方法直接易维护,完全适配你的需求。

基础查询示例

SELECT
  pathology_id,
  medical_data_id,
  grade,
  tumour_weight,
  tumour_circumference,
  -- 保留原TNM字段供后续查询
  tumour_stage,
  node_stage,
  met_stage,
  -- 根据TNM组合生成Stage派生列
  CASE
    -- 按分期规则优先级依次匹配,以下为示例逻辑,需根据实际分期规则调整
    WHEN met_stage = 'm1' THEN 'Stage4'
    WHEN tumour_stage = 't4' AND node_stage IN ('n0','n1','n2','n3') AND met_stage = 'm0' THEN 'Stage3b'
    WHEN tumour_stage IN ('t1','t2','t3') AND node_stage = 'n2' AND met_stage = 'm0' THEN 'Stage3a'
    WHEN tumour_stage IN ('t1','t2') AND node_stage = 'n1' AND met_stage = 'm0' THEN 'Stage2'
    WHEN tumour_stage IN ('t1','t2') AND node_stage = 'n0' AND met_stage = 'm0' THEN 'Stage1'
    WHEN tumour_stage = 't0' AND node_stage = 'n0' AND met_stage = 'm0' THEN 'Stage0'
    -- 处理未匹配到的特殊情况(可选)
    ELSE 'Unknown'
  END AS Stage
FROM pathology;

关键注意事项

  • CASE WHEN逻辑顺序:MySQL会按条件书写顺序依次判断,需将优先级高的规则放在前面(比如远处转移的m1直接归为Stage4,要放在最顶端)。
  • 规则适配:需对照实际TNM分期对照表,补充或修改CASE中的条件分支,确保所有TNM组合都能匹配到对应分期。
  • 原字段保留:查询中直接列出tumour_stage、node_stage、met_stage字段,即可满足后续查询需求。

复杂场景替代方案:分期映射表

如果TNM分期规则复杂或需频繁修改,建议创建映射表维护规则,更便于长期管理:

  1. 创建分期映射表
CREATE TABLE tnm_stage_mapping (
  tumour_stage ENUM('t0','t1', 't2', 't3', 't4') NOT NULL,
  node_stage ENUM('n0', 'n1', 'n2', 'n3') NOT NULL,
  met_stage ENUM('m0', 'm1') NOT NULL,
  stage VARCHAR(10) NOT NULL,
  PRIMARY KEY (tumour_stage, node_stage, met_stage)
);
  1. 插入所有TNM组合对应的分期数据
INSERT INTO tnm_stage_mapping (tumour_stage, node_stage, met_stage, stage)
VALUES
('t0','n0','m0','Stage0'),
('t1','n0','m0','Stage1'),
('t1','n1','m0','Stage2'),
('t1','n2','m0','Stage3a'),
-- 按实际分期规则插入剩余所有组合
('t4','n1','m1','Stage4');
  1. 通过JOIN查询生成Stage列
SELECT
  p.*,
  COALESCE(m.stage, 'Unknown') AS Stage
FROM pathology p
LEFT JOIN tnm_stage_mapping m
  ON p.tumour_stage = m.tumour_stage
  AND p.node_stage = m.node_stage
  AND p.met_stage = m.met_stage;

这种方式无需修改查询语句,后续调整分期规则仅需更新映射表数据,适配长期维护需求。

内容的提问来源于stack exchange,提问作者CannonJacks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 17:43:11