好的,情况就是这样:我需要在两个不同的部分显示相同的记录。愚蠢我知道,但这就是原因。
我正在构建的报告按一个字段分组,称为Day。每条记录都有 日期/时间,预计到达日期时间和预计出发日期/时间。
所以,此时我们有这样的事情:
日..............到达时间..................出发时间
18/5 ............. 18/5 9.00am ......... 19/5 11.00am
老板只想显示与到达/离开coloumns当前日相关的时间(表达式很容易),最终结果如下:
日..............到达时间..................出发时间
18/5 ..............上午09时.........................-
他想要的下一件事就是在正确的一天'组'中显示离开的时间,但是一旦你移动到下一行,你可以想象,你移动到表的下一行。
所以问题是:无论如何在多个coloumns上显示相同的记录?我错过了什么或者我有一个无法解决的问题吗?
注意:这不是我表中的唯一数据。还有(例如)名称coloumn,也需要在两天显示。
答案 0 :(得分:0)
笛卡尔联接非常适合复制数据...
DECLARE @ArrDep TABLE
(
Code varchar(1)
)
INSERT INTO @ArrDep (Code) SELECT "A"
INSERT INTO @ArrDep (Code) SELECT "D"
SELECT DateAdd(dd, DateDiff(dd, 0,
CASE
WHEN ad.Code = "A"
THEN mt.ArrivalTime
ELSE mt.DepartureTime
END), 0) as TheDay
, *
FROM MyTable mt, @ArrDep ad
ORDER BY 1