我有两个表符号和 rpm。
表详细信息: rpm:rpm 中的条目也导出符号和消耗。
符号: 符号表是所有符号(导出和消费)的集合。
表说明:
符号: 符号表有 id、名称、rpm_id(映射到 rpm 表的 id)、标志以显示它是导出还是消耗。标志 = 1; 消费标志 = 0; 出口
rpm: rpm 表有 id、name。
更多上下文: rpm 条目导出的符号被其他 rpm 表条目多次使用。因此,一个符号以不同的 id rpm_id 多次在符号表中登记。
问题陈述: 按给定的 rpm 列出导出的符号(给定它的 id;比如 35)以及每个符号被其他 rpm 条目消耗的时间。
输出布局:
符号名 | count(这个符号被消耗的次数)|
试过的解决方案:
SELECT symbol.name, count(distinct symbol.rpm_id)
FROM 符号,rpm
其中 symbol.flag = 0 && symbol.rpm_id = 35
按符号分组。名称;
但我在每个符号的计数列中得到“1”,这是错误的。
相关查询的语义:
第一个查询应该获取给定 rpm.id (rpm.id = 35) 导出的所有符号,然后对于结果集中的每个结果 symbol.id,它应该找到它被消耗的次数,即它的计数并在前面打印计数那个符号。
请提出一些方法/查询来获得结果。
谢谢你。