2016-07-29 20 views
-1

PO HEADER Line sequence 4101066609 10 1 4101066609 10 2 4101066609 10 3 4101066609 20 1 4101066609 20 2 4101066609 30 1 4101066609 40 1 4101066609 40 2 4101066609 40 3 4101066609 40 4 4101066609 40 5創建用於每一組組合(PO報頭線)的序列號

對於POHEADER和LINE的組合。我需要生成一個序列號。這裏每個新組合的數字應該重置爲1。 這是在SQLite中完成的。 數據的列是PO_header和Line。結果應該像上面提到的那樣生成。

回答

0

序列號是具有相同的poheaderline值的行數。要區分具有相同值的行,您必須使用一些唯一值(這裏是rowid):

SELECT PO_HEADER, 
     Line, 
     (SELECT COUNT(*) 
     FROM MyTable AS T2 
     WHERE T2.PO_HEADER = MyTable.PO_HEADER 
      AND T2.Line  = MyTable.Line 
      AND T2.rowid <= MyTable.rowid 
     ) AS sequence 
FROM MyTable;