2013-10-28 3 views
0

Sid = 1 인 모든 LineAmount를 추가하고 싶습니다. 어떻게 SQLite에서 수행합니까?SQLite에서 SQL 문으로 sum 및 기타와 같은 계산을 수행하는 방법

SQL 문에서 무엇을해야합니까?

await db.QueryAsync<Transaction>("Select * From Transaction Where Sid =1"); 

class TransactionLine 
{ 
    [PrimaryKey, AutoIncrement] 
    public int TId { get; set; } 

    public int Sid { get; set; } 
    public string No { get; set; }  
    public string Description { get; set; } 

    public decimal Quantity { get; set; } 

    public decimal UnitPrice { get; set; } 
    public decimal LineDisPerc { get; set; } 
    public decimal LineDiscAmt { get; set; } 
    public decimal LineAmount { get; set; } 

    public decimal FinalAmount { get; set; } 

} 

---- 업데이트 :

using (var db = new SQLite.SQLiteConnection(DBPath)) 
{ 
    var Orders = db.Query<TransactionLine>("Select *, Sum(FinalAmount) From TransactionLine where Sid ==" + OrderId); 

    foreach (var lineTrans in Orders) 
    { 
     txtBlkAMT.Text = lineTrans.Amount.ToString(); 
    }   
} 

문제 :

  • 나는 순서의 3 라인이있는 경우, 제대로 정리해하지 않습니다.

-----이 작동 2.

업데이트 :

을하지만 SQL 문에 합계() 또는 다른 기능을 사용하는 지름길이있다?

10 진수 LineTTL = 0; 10 진수 LineAmt = 0; int Count = 0;

var Orders = db.Query<TransactionLine>("Select * From TransactionLine where SId ==" + OrderId);     

    foreach (var lineTrans in Orders) 
    { 

     LineAmt = lineTrans.Amount; 

     LineTTL = LineTTL + LineAmt; 

     TTLAmt = LineTTL; 


     } 
+0

'TransactionLine'이란 무엇입니까? "올바르지 않다"는 것은 무엇을 의미합니까? –

+0

내 솔루션을 업데이트했습니다. Sum()과 같은 함수가 Sqlite 용 Sql-statement에 사용합니까? – MilkBottle

답변

0

참으로 SUM 함수가 있습니다.

-1

sqlite> 회사 이름에서 그룹 이름을 선택하십시오. 좋은 생각 (예약어)가 아닌 테이블의 이름으로 "거래"를 사용

SELECT SUM(Amount) FROM TransactionLine WHERE SId = 1 
+0

"Select *, Sum (FinalAmount) from TransactionLine where Sid =="를 사용하지만 위의 업데이트로 정확하게 합산하지 않습니다. – MilkBottle

+0

이것은 질문에 대답하지 않습니다. –

0
SELECT Sum(FinalAmount) AS Amount FROM TransactionLine WHERE Sid = 1 

PS :

관련 문제