【问题标题】:Doing a full outer join on two tables to create datatable asp.net c#在两个表上进行完全外连接以创建数据表 asp.net c#
【发布时间】:2016-06-20 10:08:59
【问题描述】:

我有两个表:收入和支出。 Incomings 有 IncDate 和 IncCost,Expenditures 有 ExpDate 和 ExpCost。 IncCost 和 ExpCost 存储为双精度,IncDate 和 ExpDate 存储为字符串 dd/MM/yyyy(我知道这是不好的做法)。我正在尝试合并 IncDate 和 ExpDate 并总结每天的成本。我正在尝试将此数据添加到数据表中,以便可以使用它创建图表。我得到的错误说“关键字'AS'附近的语法不正确”虽然这就是它所说的所以它没有多大用处。 这是我用来尝试创建此数据表的代码

DataTable dt = new DataTable();
    public DataTable DatatableNew()
    {

        SqlDataAdapter Adp = new SqlDataAdapter("select CONVERT(DATETIME, IncDate, 103) AS IncDate, SUM(IncCost) AS IncCost, CONVERT(DATETIME, ExpDate, 103) AS ExpDate, SUM(ExpCost) AS ExpCost from Incomings i FULL OUTER JOIN Expenditures e ON i.IncDate = e.ExpDate AS FinalDate GROUP BY CONVERT(DATETIME, FinalDate, 103) ORDER BY CONVERT(DATETIME, FinalDate, 103)", con);
        dt.AcceptChanges();
        Adp.Fill(dt);
        return dt;

    }

非常感谢任何帮助。提前干杯

【问题讨论】:

    标签: c# sql asp.net datatable


    【解决方案1】:

    错误在于您在 ON 子句中使用的“AS FinalDate”语句(在下面的查询中以粗体显示)。不知道为什么 As 子句突然出现在 ON 子句中。 SQL 中的 ON 子句不允许列别名(使用 AS 关键字)。尝试修复它以解决您的问题。如果 FinalDate 是计算字段,那么它应该出现在 SELECT 子句中。

    SELECT CONVERT(DATETIME, IncDate, 103) AS IncDate,
    SUM(IncCost) 作为 IncCost,
    转换(日期时间,ExpDate,103)作为 ExpDate,
    SUM(ExpCost) 作为 ExpCost
    从收入我
    FULL OUTER JOIN 支出 e
    ON i.IncDate = e.ExpDate
    截止日期
    GROUP BY CONVERT(日期时间,FinalDate,103)
    ORDER BY CONVERT(DATETIME, FinalDate, 103)

    希望这会有所帮助!

    【讨论】:

    • 感谢您的回答。 FinalDate 不是我的表中的一个字段我希望在我的数据表中创建一个新列,该列将被称为 FinalDate 并将包含我的 IncDate 和 ExpDates 组合。不知道有没有可能!
    • IncDate 和 ExpDates 结合是什么意思?是否要将它们作为附加字符串保留在数据表中每个记录的名为 FinalDate 的新列中?我真的很想知道,即使你最终这样做了,它还能解决什么目的。
    • 我正在用它创建一个 dotnethighchart:stackoverflow.com/questions/35802637/…(这是我的问题)。当我在那个问题中连接 IncDate 和 ExpDate 时,日期只是随机添加在一起,而不是按照我希望的顺序。我不确定解决这个问题的最佳方法。我在十字路口
    猜你喜欢
    • 2014-09-14
    • 2012-04-25
    • 2018-03-04
    • 2018-05-24
    • 2014-07-18
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2020-03-30
    相关资源
    最近更新 更多