【发布时间】:2014-04-18 18:42:58
【问题描述】:
这是我们在 Crystal 版本 9 上获得的报告。它包括用于选择用户 ID 和扫描部件的日期的参数,并提供扫描每个部件的时间。我希望它添加另一列来计算扫描之间的间隔时间。请求是让第一个时间戳为空,但其余的计算间隔时间。
http://i59.tinypic.com/bjbtl1.jpg
这是我在 TOAD 中提出的那种模拟 SQL,但我无法将其翻译成 Crystal。
with temptab as (
select 1 key, sysdate as dt from dual
union
select 1 key, sysdate + interval '1' minute as dt from dual
union
select 1 key, sysdate + interval '2' minute as dt from dual
union
select 1 key, sysdate + interval '6' minute as dt from dual
union
select 1 key, sysdate + interval '7' minute as dt from dual
)
select t.key, t.dt, lag(t.dt) over (partition by t.key order by t.dt asc) prev_row_dt,
(t.dt - lag(t.dt) over (partition by t.key order by t.dt asc))*24*60*60 diff_in_seconds from temptab t;
这是随机用户的 CR。请记住,设置了一些参数来选择用户和日期:
SELECT "LOCN_HDR"."LOCN_BRCD", "ITEM_MASTER"."SKU_BRCD", "USER_MASTER"."LOGIN_USER_ID", "PROD_TRKG_TRAN"."MOD_DATE_TIME", "PROD_TRKG_TRAN"."TRAN_TYPE", "PROD_TRKG_TRAN"."TRAN_CODE", "PROD_TRKG_TRAN"."USER_ID", "USER_MASTER"."USER_NAME", "PROD_TRKG_TRAN"."NBR_UNITS", "PROD_TRKG_TRAN"."SKU_ID"
FROM "PKMS"."LOCN_HDR" "LOCN_HDR", "PKMS"."USER_MASTER" "USER_MASTER", "PKMS"."PROD_TRKG_TRAN" "PROD_TRKG_TRAN", "PKMS"."ITEM_MASTER" "ITEM_MASTER"
WHERE ("USER_MASTER"."LOGIN_USER_ID"="PROD_TRKG_TRAN"."USER_ID") AND ("LOCN_HDR"."LOCN_ID"="PROD_TRKG_TRAN"."TO_LOCN") AND ("PROD_TRKG_TRAN"."SKU_ID"="ITEM_MASTER"."SKU_ID") AND ("PROD_TRKG_TRAN"."TRAN_CODE"='001' OR "PROD_TRKG_TRAN"."TRAN_CODE"='005') AND ("PROD_TRKG_TRAN"."TRAN_TYPE"='200' OR "PROD_TRKG_TRAN"."TRAN_TYPE"='300') AND ("PROD_TRKG_TRAN"."MOD_DATE_TIME">={ts '2014-04-16 00:00:00'} AND "PROD_TRKG_TRAN"."MOD_DATE_TIME"<{ts '2014-04-17 00:00:00'}) AND "PROD_TRKG_TRAN"."USER_ID"='4517'
ORDER BY "PROD_TRKG_TRAN"."MOD_DATE_TIME", "USER_MASTER"."LOGIN_USER_ID", "PROD_TRKG_TRAN"."TRAN_TYPE
【问题讨论】:
-
这里有什么问题?您的标题(CR 错误消息)如何适应?
-
问题是如何计算时间间隔?当我插入来自 mmy 原始问题的代码时,我得到的就是错误
-
我看到的只是 SQL...您一直在使用的 Crystal Reports 公式是什么来计算间隔(给出错误消息的那个)?
-
我想就是这样。如何翻译水晶中的第一个 SQL。第一个 SQL 语句是我使用 TOAD 提出的。
-
{PROD_TRKG_TRAN.TRAN_CODE} in ["001", "005"] and {PROD_TRKG_TRAN.TRAN_TYPE} in ["200", "300"] and {PROD_TRKG_TRAN.MOD_DATE_TIME} = {?Date}和 {PROD_TRKG_TRAN.USER_ID} = {?User}
标签: sql sql-server crystal-reports