c# - WebMatrix - 内连接和 Foreach 循环

标签 c# sql razor foreach webmatrix

我正在尝试做一些我经常看到的事情,但我无法找到最好的方法来做到这一点。

我有以下查询:

"SELECT * FROM Property_Info INNER JOIN RateInfo ON Property_Info.PropertyID=RateInfo.RateID"

由此,我执行以下 foreach 循环来显示我的所有属性。

foreach(var row in queryResults){
<div class="row">
    <h4>@row.PropertyName</h4>
    <h5>Prices from: xxxx</h5>
    </div>
}

我遇到的问题是,我需要在连接表(RateInfo)上执行“SELECT TOP 1”以显示每个属性的最低价格。我需要在 foreach 循环中显示这一点,我已将 xxxx 放置在其中

我需要编写单独的 SQL 查询吗?如果是这样,我如何将它绑定(bind)到 foreach 循环中的适当条目。

表信息:

属性信息表 - 属性(property)ID, 属性名称

费率信息表 - PropertyID(这与其他表中的 PropertyID 匹配), 费率ID, 费率名称, 费率值

最佳答案

SELECT
    pi.PropertyID,
    pi.PropertyName,
    MIN(ri.Rate) AS LowestRate,
    MAX(ri.Rate) AS HighestRate
FROM
    Property_Info pi
INNER JOIN
    RateInfo ri ON pi.PropertyID = ri.PropertyID
GROUP BY
    pi.PropertyID,
    pi.PropertyName

对代码的更改是在表名称上使用别名,以便更容易再次引用它们,并使用 GROUP BY 让我们对 RateInfo 中的数据执行聚合函数 表。希望这就是您所需要的?

关于c# - WebMatrix - 内连接和 Foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639751/

相关文章:

c# - ReSharper 格式化 : align equal operands

c# - 如何连续为两个异步任务使用加载微调器

c# - 每次迭代或循环浏览文档列表时如何创建新的 PDF 文件?

jquery - 如何执行相当复杂的 RavenDB 查询并将 Lucene 分数包含在结果中?

c# - 从 UDP 套接字接收并发回数据

SQL Server 触发器在插入和更新后未触发

sql - 如何将日期时间作为参数传递给 sql openquery

sql - 如何将一列分成多列

asp.net-mvc - 将缩进添加到 "@RenderBody()"

c# - 从模型中的嵌套对象获取 MVC4/Razor 中 JavaScript 元素的 ID