首页 > 解决方案 > 如何在 ms 访问中获取最后一个非空列

问题描述

所以我有这个庞大的数据库用于我的学校项目它是这样的

ID 团队 游戏1 得分1 游戏2 分数2 游戏3 得分3
1 巴萨 与真实的 2-1 与 bvb 5-2 VS竞技 0-3
2 皇家马德里 对巴萨 1-2 对贝蒂斯 3-0
3 曼城 VS 曼联 1-2

我想做一个查询,只给我每支球队的最后一场比赛,这很容易,但我不能在我需要的 ms 访问结果中做到这一点

ID 团队 最后一盘游戏
1 巴萨 VS竞技
2 皇家马德里 对贝蒂斯
3 曼城 VS 曼联

标签: sqlvbadatabasems-access

解决方案


假设缺失值是null,您可以使用nz()

select id, team,
       nz(game3, nz(game2, game1)) as last_game
from t;

请注意,这在任何其他数据库中都会更简单。标准 SQL 函数coalesce()接受多个参数:

select id, team,
       coalesce(game3, game2, game1) as last_game
from t;

推荐阅读