2
我有一個包含以下數據的表。我有一些銷售ID,它可能會/可能不會被修改。如果它被修改,那麼它將有修訂版本號。如果SalesId被修改,然後兩次將有版本號2避免單個表的嵌套子查詢
SalesId和修訂都是WRT對方並沒有主鍵或外鍵
SalesId -100 100 100 101 102 102 103 104 104
Revision -0 1 2 0 0 1 0 0 1
我的要求是 - 如果用戶提供了一個版本數字說'n',我需要得到所有有revisions<=’n’
的記錄。
例如:
1.I want to know SalesId's which are not at all revised , means ‘n=0’. expected result : 101, 103
2.I want to know SalesIds which are revised only once, means ‘n=1’. expected result : 102, 104
,所以我寫了一個嵌套查詢 -
select Sales1.Sales_Id,Sales1.Rev
from (select Sales_Id, Max(Revision) as "Rev" from Sales Group By Sales_Id)as Sales1 where Rev=0
select Sales1.Sales_Id,Sales1.Rev
from (select Sales_Id, Max(Revision) as "Rev" from Sales Group By Sales_Id)as Sales1 where Rev=1
我得到正確的答案。
使用嵌套查詢會降低性能,我希望在不使用嵌套查詢的情況下簡化查詢。
請給我一些建議。
非常感謝你RaphaëlAlthaus –