【发布时间】:2011-02-21 07:50:45
【问题描述】:
我有两个从 C# winform 运行的 SQL 查询,我想合并它们。
第一个是:
SELECT * FROM ES_TOOL INNER JOIN ES_HARDWARE ON ES_HARDWARE.eshw_ID = ES_TOOL.ESTOOL_HARDWARE
INNER JOIN ES_PAYMENT on ES_payment.espay_id = es_TOOL.estool_payment
这列出了所有工具及其相关的付款和硬件要求。
第二个在第一个查询返回的每条记录上运行,通过 c# for 循环:
SELECT avg(a.esmrk_value) from ES_MARK a Inner Join ES_TOOL_CHAPTER b
on a.esmark_tool_chapter= b.estch_id WHERE b.estch_tool=@tool
这会返回每个工具在 es_mark 表中获得的平均成绩。
注意对工具的各个“章节”进行评分。因此,要找到工具的所有标记,我们需要查看 ES_TOOL_CHAPTER 表以获取工具章节列表。工具章节是在 ES_MARK 表中接收标记的内容。
我尝试了分组和更多的加入,但我只是越来越困惑,所以我很感激任何关于此事的帮助。 我基本上是在寻找一个查询,它将返回第一个查询的所有结果以及一个附加列作为平均标记。
谢谢。
编辑:@tool 代表工具 ID。
【问题讨论】:
-
您需要在 C# 中执行两个单独的查询并将它们连接起来,还是在寻找单个 SQL 查询?
-
@tool参数代表什么列? -
@jon:正在寻找单个 SQL 查询。