在同一个查询中使用内部连接 where 和 group by
use inner join where and group by in same query
我想要 select 数据库中的一组数据,以根据其他列值查找列的总和,还想连接两个表,这些值介于两个日期之间,我可以在单个查询中执行吗,请帮忙我想知道我到目前为止所做的是
string sql1 = @"select
Ledger.LedId,
Ledger.LedName,
sum(adjmnt.OpenBalanceAmount) as Totaldebit,
(adjmnt.OpenBalanceVocherType) as adjtype
from
Ledger inner join Adjustment adjust on
Ledger.LedId = adjmnt.LedId
where
Ledger.Date >= @prmStartDate
and Ledger.Date <= @prmEndDate";
我想做的是
string sql1 = @"select
Ledger.LedId,
Ledger.LedName,
sum(adjmnt.OpenBalanceAmount) as Totaldebit ,
(adjmnt.OpenBalanceVocherType) as adjtype
from
Ledger inner join Adjustment adjust on
Ledger.LedId= adjmnt.LedId
groupby
(adjmnt.OpenBalanceVocherType)
where
Ledger.Date >= @prmStartDate and
Ledger.Date <= @prmEndDate";
但是当我尝试这样做时我得到
incorrect syntax near where
请帮帮我
你需要把group by
放在where
之后,然后按Ledger.LedId,Ledger.LedName
分组:
string sql1 = @"select Ledger.LedId,Ledger.LedName,sum(adjmnt.OpenBalanceAmount)
Totaldebit ,(adjmnt.OpenBalanceVocherType) as adjtype
from Ledger inner join Adjustment adjmnt on
Ledger.LedId= adjmnt.LedId
where Ledger.Date >= @prmStartDate and Ledger.Date <= @prmEndDate
group by Ledger.LedId,Ledger.LedName";
我已经为您的问题添加了格式建议。
当以更结构化的方式查看代码时,您可以立即看出存在错误,其中 groupby
实际上应该是 group by
。
正如 Mostafa 提到的,group by
子句应放在 where
子句之后。
我不知道这是否解决了您的问题,但这肯定是一个错误。
我想要 select 数据库中的一组数据,以根据其他列值查找列的总和,还想连接两个表,这些值介于两个日期之间,我可以在单个查询中执行吗,请帮忙我想知道我到目前为止所做的是
string sql1 = @"select
Ledger.LedId,
Ledger.LedName,
sum(adjmnt.OpenBalanceAmount) as Totaldebit,
(adjmnt.OpenBalanceVocherType) as adjtype
from
Ledger inner join Adjustment adjust on
Ledger.LedId = adjmnt.LedId
where
Ledger.Date >= @prmStartDate
and Ledger.Date <= @prmEndDate";
我想做的是
string sql1 = @"select
Ledger.LedId,
Ledger.LedName,
sum(adjmnt.OpenBalanceAmount) as Totaldebit ,
(adjmnt.OpenBalanceVocherType) as adjtype
from
Ledger inner join Adjustment adjust on
Ledger.LedId= adjmnt.LedId
groupby
(adjmnt.OpenBalanceVocherType)
where
Ledger.Date >= @prmStartDate and
Ledger.Date <= @prmEndDate";
但是当我尝试这样做时我得到
incorrect syntax near where
请帮帮我
你需要把group by
放在where
之后,然后按Ledger.LedId,Ledger.LedName
分组:
string sql1 = @"select Ledger.LedId,Ledger.LedName,sum(adjmnt.OpenBalanceAmount)
Totaldebit ,(adjmnt.OpenBalanceVocherType) as adjtype
from Ledger inner join Adjustment adjmnt on
Ledger.LedId= adjmnt.LedId
where Ledger.Date >= @prmStartDate and Ledger.Date <= @prmEndDate
group by Ledger.LedId,Ledger.LedName";
我已经为您的问题添加了格式建议。
当以更结构化的方式查看代码时,您可以立即看出存在错误,其中 groupby
实际上应该是 group by
。
正如 Mostafa 提到的,group by
子句应放在 where
子句之后。
我不知道这是否解决了您的问题,但这肯定是一个错误。