数据:
Record_No Entry Timings and CARD_RATE_TIMINGS and Rate
1 19:40:42 09:28:30 64.98
2 19:40:42 17:23:26 65.10
3. 19:40:42 20:25:13 66.10
要求是仅选择第2条记录,因为进入时间是在card_rate_timing之后,因为卡速率时间大于进入时间,所以应忽略3条记录。
条目时间表名称是RTI和卡片费率时间表名称是RTH
答案 0 :(得分:2)
假设您使用'Record_No'作为索引,要创建包含这两列的表,您需要使用join语句。
SELECT RTI.Record_No, RTI.ENTRY_TIMINGS, RTH.CARD_RATE_TIMINGS
FROM RTI
INNER JOIN RTH
ON RTI.Record_No=RTH.Record_No;
您可以使用ON子句添加另一个条件,指定ENTRY_TIMINGS大于CARD_RATE_TIMINGS
ON RTI.Record_No=RTH.Record_No AND RTI.ENTRY_TIMINGS > RTH.CARD_RATE_TIMINGS
但是,根据您的数据,这将选择第1行和第2行。您必须添加更多条件,以便从此处按照您的需要过滤数据。例如,正如注释所建议的那样,使用LAST()函数和另一个select语句(将这一个嵌套在FROM中)仅选择最后一行。
答案 1 :(得分:0)
SELECT a.Record_No, a.Entry_Timings, a.CARD_RATE_TIMINGS FROM <YOUR TABLE NAME> AS a WHERE a.Entry Timings > a.CARD_RATE_TIMINGS
替换为您的表名。
如果您只想要一个记录集限制,
SELECT a.Record_No, a.Entry_Timings, a.CARD_RATE_TIMINGS FROM <YOUR TABLE NAME> AS a WHERE a.Entry Timings > a.CARD_RATE_TIMINGS LIMIT 0, 1