我有以下示例表:
ID Type Price Code Date
1 1 .99 Null 6/1
2 2 1.99 Null 5/1
3 1 .99 1234 4/1
4 3 1.99 Null 5/1
5 2 3.99 Null 6/1
6 1 1.30 1234 5/1
7 1 1.64 5673 6/10
我需要选择以下内容:类型、价格 - 基于以下规则的所有类型:
- 如果代码与请求匹配,则获取最近的记录。
- 如果一个类型的所有代码都为空,则取最近的记录。
因此,代码为“1234”的请求的结果集应该是:
ID:
4 (This is the most recent record for type 3)
5 (This is the most recent record for type 2)
6 (This is the most recent record for type 1 having a code = '1234')
我创建了以下查询:
Select distinct
ID, Type, Price, Code, Date
from
tblPRODUCT
where
Code = '1234' OR Date IN (Select MAX(Date) from tblPRODUCT Group By Type)
但这并没有给我正确的结果。想法?