我是 SQL 和数据库的新手。我正在使用它们为学术论文编码数据(将相关信息标签分配给各种句子)。我环顾四周,但我对 SQL 的陌生可能让我错过了寻找答案的正确方法。
我有几个表,我想计算给定字段中每个表的所有代码实例。在 CODES 中,我有一系列可以根据需要更新的代码。其他表格具有使用代码填写的字段。
代码 ID GR SR CT 1秒 2个 3个 4秒 5 溶解氧 6 IO 7吨 8 我 数据1 ID IGR ISR ICT 1 不锈钢 2 点 3 S IO I 4秒我 数据2 ID IGR ISR ICT 1 AST 2 AST 3 太平洋标准时间 4 点 预期成绩: CODES.GR DATA1.IGR DATA2.IGR 小号 3 0 一个 0 2 1 2
我尝试了以下代码:
SELECT "CODES"."CT",
COUNT ("IGR") AS "DATA1.IGR",
COUNT ("IGR") AS "DATA2.IGR"
FROM
"DATA1", "DATA2"
JOIN "CODES" ON "CODES"."GR" = "DATA1"."IGR"
JOIN "CODES" ON "CODES"."GR" = "DATA2"."IGR"
GROUP BY
"CODES"."GR"
这给了我每个表每个代码 1000 个结果,而我预计每个表每个代码少于 100 个。我尝试了不同的 JOIN 无济于事。
每列代码数量超过 15-20 个。每当我添加代码时,SUM CASE WHEN 都不会更新,因此这些代码不太理想。如果有办法将查询联合在一起,则输出的格式不一定是一成不变的。理想的查询从 CODES.column 中提取所有代码,计算所有实例并在不使用时返回 0。我想跨 11 个表运行这个单一查询。
我正在使用运行 HSQL 数据库引擎的 OpenOffice Base。
谢谢你的帮助