2017-01-07 3 views
0

Я хочу выбрать набор данных из базы данных, чтобы найти сумму столбца на основе других значений столбцов, а также присоединиться к двум таблицам, и эти значения находятся между двумя датами, которые я могу сделать в одном запрос, то пожалуйста, помогите мне знать, что я сделал до сих пор являетсяuse inner join where and group by in same query

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 

пожалуйста, помогите мне

+1

'' '' before 'group by'. –

ответ

2

Вам нужно положить 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"; 

http://www.w3schools.com/sql/sql_groupby.asp

+0

спасибо, что он работал как шарм –

1

Я добавил предложение для форматирования вашего вопроса.

И если вы посмотрите на код более структурированным способом, вы можете сразу сказать, что есть ошибка, когда groupby должен быть фактически group by.

И как указано в Мостафе, предложение group by должно быть размещено после пункта where.

Я не знаю, исправляет ли эта проблема, но это, безусловно, ошибка.

+0

исправлено спасибо за ваше время –

+1

О, почему-то старая страница получила опрос для меня, и вопрос остался без ответа. Это странно ... Рад слышать, что это исправлено! –