【发布时间】:2022-01-22 14:36:57
【问题描述】:
我想显示这样的数据:image
我正在使用 home 控制器从 postgres 表中获取详细信息,如下所示:
public IActionResult AllTransactionsList(DateTime startDate, DateTime endDate)
{
var dataset = new DataSet();
using var connection = new NpgsqlConnection(connString);
connection.Open();
Console.WriteLine(startDate);
var query = String.Format(@"SELECT accounts.account,accounts.type,DATE(transactions.date),transactions.transactionid,transactions.amount,transactions.note FROM transactions FULL JOIN accounts ON transactions.accountid=accounts.accountid WHERE transactions.date BETWEEN '{0}' AND '{1}' ORDER BY transactions.date;", startDate, endDate);
string mainQuery = String.Format(@"SELECT sum(amount) FROM transactions INNER JOIN accounts ON transactions.accountid=accounts.accountid WHERE accounts.type='income' AND transactions.date BETWEEN '{0}' AND '{1}'", startDate,endDate);
using var mainCommand = new NpgsqlCommand(query, connection);
decimal mainResult = mainCommand.ExecuteNonQuery();
using (var command = new NpgsqlCommand(query, connection))
{
var adapter = new NpgsqlDataAdapter(command);
adapter.Fill(dataset);
}
return View(dataset);
}
但我还需要显示底部的收入/支出image
如何同时从两个查询中获取数据并放入数据集中?
即,我有两个查询(查询,mainResult)。我将从 query 获取行,我将从 main result 获取十进制值我需要在视图中返回它们。
我怎样才能做到这一点?谁能帮帮我?
【问题讨论】:
-
有需要的可以再发个帖子,里面有数据库表设计结构,带postgres或者sql标签,以后会有更多人帮你解决问题。
-
在第一个查询中执行 FULL JOIN 没有意义:您在 WHERE 中指定交易列,将其转换为左连接,并假设您不能在没有帐户的情况下进行交易记录,左连接转换为内连接
标签: c# postgresql asp.net-core-mvc dataset