Interbase
Interbase SQL 分組和顯示
我有一個包含不同數據的數據庫,我需要進行查詢以選擇具有總和數量的組。
兩個表:
Positions
和Documents
。一個文件中可以有多個位置,兩者都由 連接
unique_id
。文件有兩種不同的狀態:
In
和Out
我需要在一行中查看這兩種狀態的結果,每種情況都有一列,但是我的查詢給了我兩行。我該怎麼做?
我的查詢沒有給我這個結果:
Select documents.code ,positions.fullname ,case when documents.status='In' then Sum(positions.quantity) else 0 end as DocIn ,case when documents.status='Out' then Sum(positions.quantity) else 0 end as DocOut from positions inner join documents on documents.unique_id=positions.unique_id group by documents.code, positions.fullname, documents.status
每個文件有兩行,因為您按 分組
documents.status
。您需要SUM()
稍微不同地使用,然後documents.status
從GROUP BY
子句中刪除:Select documents.code ,positions.fullname ,SUM(case when documents.status='In' THEN positions.quantity ELSE 0 END) AS DocIn ,SUM(case when documents.status='Out' THEN positions.quantity ELSE 0 END) AS DocOut from positions inner join documents on documents.unique_id=positions.unique_id group by documents.code, positions.fullname