SQL 查询错误:缺少列 'log_iMonkey_Wechat_overview.CrashIdentifier' 的解决方法
SELECT PlatformType AS PlatformType, (CASE WHEN PlatformType IN (1, 3, 5, 7) THEN ( SELECT COUNT(crash_uuid) FROM log_iOS_crash WHERE crash_uuid = log_iMonkey_Wechat_overview.CrashIdentifier AND Ds >= toDateTime('#wechat_crash_level_time.start#') AND Ds <= toDateTime('#wechat_crash_level_time.end#') ) WHEN PlatformType IN (2, 4, 6, 8) THEN ( SELECT COUNT(crashid) FROM log_android_crash WHERE crashid = log_iMonkey_Wechat_overview.CrashIdentifier AND Ds >= toDateTime('#wechat_crash_level_time.start#') AND Ds <= toDateTime('#wechat_crash_level_time.end#') ) ELSE 0 END) AS index_crashcount_0 FROM log_iMonkey_Wechat_overview WHERE Debug = 0 AND PlatformType != 0 AND CrashIdentifier != '' AND Ds >= toDateTime('#wechat_crash_level_time.start#') AND Ds <= toDateTime('#wechat_crash_level_time.end#') GROUP BY PlatformType ORDER BY index_crashcount_0 DESC LIMIT 5000
报错 errormessage: 运行SQL失败:[404]运行异常: Code: 47. DB::Exception: Missing columns: 'log_iMonkey_Wechat_overview.CrashIdentifier' while processing query: 'SELECT count(crash_uuid) FROM log_iOS_crash WHERE (crash_uuid = log_iMonkey_Wechat_overview.CrashIdentifier) AND (Ds >= toDateTime('2023-06-12 00:00:00')) AND (Ds <= toDateTime('2023-07-11 23:59:59'))', required columns: 'crash_uuid' 'Ds' 'log_iMonkey_Wechat_overview.CrashIdentifier', maybe you meant: ['crash_uuid','Ds']: While processing (SELECT count(crash_uuid) FROM log_iOS_crash WHERE (crash_uuid = log_iMonkey_Wechat_overview.CrashIdentifier) AND (Ds >= toDateTime('2023-06-12 00:00:00')) AND (Ds <= toDateTime('2023-07-11 23:59:59'))) AS _subquery1152: While processing multiIf((PlatformType AS PlatformType) IN (1, 3, 5, 7), (SELECT count(crash_uuid) FROM log_iOS_crash WHERE (crash_uuid = log_iMonkey_Wechat_overview.CrashIdentifier) AND (Ds >= toDateTime('2023-06-12 00:00:00')) AND (Ds <= toDateTime('2023-07-11 23:59:59'))) AS _subquery1152, PlatformType IN (2, 4, 6, 8), (SELECT count(crashid) FROM log_android_crash WHERE (crashid = log_iMonkey_Wechat_overview.CrashIdentifier) AND (Ds >= toDateTime('2023-06-12 00:00:00')) AND (Ds <= toDateTime('2023-07-11 23:59:59'))) AS _subquery1153, 0) AS index_crashcount_0. (UNKNOWN_IDENTIFIER) (version 52.3.10.8)
根据报错信息来看,错误是由于缺少列 'log_iMonkey_Wechat_overview.CrashIdentifier' 导致的。
要解决这个问题,你需要确保查询中的表 log_iMonkey_Wechat_overview 包含列 CrashIdentifier。同样,查询中的子查询也必须包含所需的列 crash_uuid 和 Ds。
你可以检查一下数据库中的表结构,确保这些列存在并被正确命名。如果需要,你可以使用 ALTER TABLE 语句来添加缺少的列。
另外,还要确保查询中的时间范围 (#wechat_crash_level_time.start# 和 #wechat_crash_level_time.end#) 是正确设置的,并且在指定的范围内存在数据。
修改完成后,再次运行查询,应该就不会报错了。
原文地址: https://www.cveoy.top/t/topic/pILA 著作权归作者所有。请勿转载和采集!