我有一张公共交通用户的单独旅行交易表 当旅行者从一条线路到另一条线路时,它们会产生两种截然不同的交易 幸运的是,源数据已经包含共享密钥(UniqueTravelID)
class PaintingComponent extends JPanel
{
public void paintComponent(Graphics g, int a)
{
raster.setPixel( 12, a, clr );
}//paintComponent(Graphics g)
}
我想根据最早的Checkin和同一日期的最新结帐时间合并多个不同的交易。
Date | MediumID | UniqueTravelID | CiTime | CoTime | CiLocationID | CoLocationID
1-1-2015 | 1001 | 99 | 08:10 | 08:15 | 5001 | 5050
1-1-2015 | 1001 | 99 | 08:16 | 08:20 | 5001 | 5090
答案 0 :(得分:0)
我还没有测试过这个......但
创建按日期分组的视图和UniqueTravelID,用于标识该日期的唯一日记,包括MIN CiTime和MAX CoTime,但不包括地点
使用原始表格加入视图两次,一个链接在Min CiTime和UniqueTravelID上,另一个链接在Max CoTime和UniqueTravelID上,这应该会给你答案。
如果您想了解更多信息,请告诉我
答案 1 :(得分:0)
我认为这就是你要找的东西
SELECT DISTINCT
Date,
MediumID,
UniqueTravelID,
MIN(CiTime) OVER (PARTITION BY Date ORDER BY Date ASC) CiTime,
MAX(CoTime) OVER (PARTITION BY Date ORDER BY Date ASC) CoTime,
FIRST_VALUE(CiLocationID) OVER (PARTITION BY Date ORDER BY Date ASC) CiLocationID,
LAST_VALUE(CoLocationID) OVER (PARTITION BY Date ORDER BY Date ASC) CoLocationID
FROM
table
在这个SQL Fiddler中,你可以找到一个有效的演示 这仅适用于SQL Server 2012 +
希望这有帮助