我有一个包含很多列、一个主键(icd_data_id)和一个外键(encounter_id)的数据库表。
我有一个应该只出现一次的特定标准,但由于过去的历史,我不能确定只有一个符合标准的记录,因此,我试图获得最后一个值。
我不知道如何用我的映射文件和查询来解决这个问题。这是映射文件中我的课程的一个子集。
<class name="Surgery">
<id name="ID" column="icd_data_id" type="Int32">
<generator class="identity"/>
</id>
<property name="EncounterID" column="event_id" type="int" />
<property name="SpongeCountDone" column="sponge_removed" type="AnsiString" />
<more attributes here, excluded for brevity>
<property name="Category" column="category" type="AnsiString" />
</class>
我想要得到的是具有 max(icd_data_id) 的行,其中 Category = 'XYZ' 和 EncounterID = 123。
我要查找的 Category 值将始终是静态的,但 EncounterID 将是我从该表中获取数据时将在代码中拥有的值。
如果我不清楚,在表中还有其他记录,其中 Category 不是 XYZ,并且每次遇到应该只有一个 Category = XYZ,但可能会有不止一个.
这里有人对如何编写三个标准有任何经验吗?