UFN_SALESORDER_TICKETS_FLAT

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@SALESORDERID uniqueidentifier IN

Definition

Copy


create function [dbo].[UFN_SALESORDER_TICKETS_FLAT](@SALESORDERID uniqueidentifier)
returns table
as
return
    (select TKTDESC1, TKTSTARTDT1, TKTSTARTTM1, TKTQTY1, TKTPRICE1, isnull(TKTDSC1,0.00) as TKTDSC1, isnull(TKTFEE1,0.00) as TKTFEE1, TKTTOTAL1,
TKTDESC2, TKTSTARTDT2, TKTSTARTTM2, TKTQTY2, TKTPRICE2, case when TKTDESC2 is null then null else isnull(TKTDSC2,0.00) end as TKTDSC2, case when TKTDESC2 is null then null else isnull(TKTFEE2,0.00) end as TKTFEE2, case when TKTDESC2 is null then null else TKTTOTAL2 end as TKTTOTAL2,
TKTDESC3, TKTSTARTDT3, TKTSTARTTM3, TKTQTY3, TKTPRICE3, case when TKTDESC3 is null then null else isnull(TKTDSC3,0.00) end as TKTDSC3, case when TKTDESC3 is null then null else isnull(TKTFEE3,0.00) end as TKTFEE3, case when TKTDESC3 is null then null else TKTTOTAL3 end as TKTTOTAL3,
TKTDESC4, TKTSTARTDT4, TKTSTARTTM4, TKTQTY4, TKTPRICE4, case when TKTDESC4 is null then null else isnull(TKTDSC4,0.00) end as TKTDSC4, case when TKTDESC4 is null then null else isnull(TKTFEE4,0.00) end as TKTFEE4, case when TKTDESC4 is null then null else TKTTOTAL4 end as TKTTOTAL4,
TKTDESCREST, TKTQTYREST, TKTPRICEREST, case when TKTDESCREST is null then null else isnull(TKTDSCREST,0.00) end as TKTDSCREST, case when TKTDESCREST is null then null else isnull(TKTFEEREST,0.00) end as TKTFEEREST, case when TKTDESCREST is null then null else TKTTOTALREST end as TKTTOTALREST
from
    (select max(case RowNum when 1 then V1.DESCRIPTION else null end) as TKTDESC1,
        max(case RowNum when 1 then V1.STARTDATE else null end) as TKTSTARTDT1,
        max(case RowNum when 1 then substring(convert(varchar,convert(datetime,stuff(V1.STARTTIME,3,0,':')),100),12,8) else null end) as TKTSTARTTM1,
        sum(case RowNum when 1 then V1.QUANTITY else null end) as TKTQTY1,
        sum(case RowNum when 1 then V1.PRICE else null end) as TKTPRICE1,
        sum(case RowNum when 1 then V1.DISCOUNTS else null end) as TKTDSC1,
        sum(case RowNum when 1 then V1.FEES else null end) as TKTFEE1,
        sum(case RowNum when 1 then V1.TOTAL else null end) as TKTTOTAL1,
        max(case RowNum when 2 then V1.DESCRIPTION else null end) as TKTDESC2,
        max(case RowNum when 2 then V1.STARTDATE else null end) as TKTSTARTDT2,
        max(case RowNum when 2 then substring(convert(varchar,convert(datetime,stuff(V1.STARTTIME,3,0,':')),100),12,8) else null end) as TKTSTARTTM2,
        sum(case RowNum when 2 then V1.QUANTITY else null end) as TKTQTY2,
        sum(case RowNum when 2 then V1.PRICE else null end) as TKTPRICE2,
        sum(case RowNum when 2 then V1.DISCOUNTS else null end) as TKTDSC2,
        sum(case RowNum when 2 then V1.FEES else null end) as TKTFEE2,
        sum(case RowNum when 2 then V1.TOTAL else null end) as TKTTOTAL2,
        max(case RowNum when 3 then V1.DESCRIPTION else null end) as TKTDESC3,
        max(case RowNum when 3 then V1.STARTDATE else null end) as TKTSTARTDT3,
        max(case RowNum when 3 then substring(convert(varchar,convert(datetime,stuff(V1.STARTTIME,3,0,':')),100),12,8) else null end) as TKTSTARTTM3,
        sum(case RowNum when 3 then V1.QUANTITY else null end) as TKTQTY3,
        sum(case RowNum when 3 then V1.PRICE else null end) as TKTPRICE3,
        sum(case RowNum when 3 then V1.DISCOUNTS else null end) as TKTDSC3,
        sum(case RowNum when 3 then V1.FEES else null end) as TKTFEE3,
        sum(case RowNum when 3 then V1.TOTAL else null end) as TKTTOTAL3,
        max(case RowNum when 4 then V1.DESCRIPTION else null end) as TKTDESC4,
        max(case RowNum when 4 then V1.STARTDATE else null end) as TKTSTARTDT4,
        max(case RowNum when 4 then substring(convert(varchar,convert(datetime,stuff(V1.STARTTIME,3,0,':')),100),12,8) else null end) as TKTSTARTTM4,
        sum(case RowNum when 4 then V1.QUANTITY else null end) as TKTQTY4,
        sum(case RowNum when 4 then V1.PRICE else null end) as TKTPRICE4,
        sum(case RowNum when 4 then V1.DISCOUNTS else null end) as TKTDSC4,
        sum(case RowNum when 4 then V1.FEES else null end) as TKTFEE4,
        sum(case RowNum when 4 then V1.TOTAL else null end) as TKTTOTAL4,
        max(case when RowNum > 4 then 'Other tickets' else null end) as TKTDESCREST,
        sum(case when RowNum > 4 then V1.QUANTITY else null end) as TKTQTYREST,
        null as TKTPRICEREST,
        sum(case when RowNum > 4 then V1.DISCOUNTS else null end) as TKTDSCREST,
        sum(case when RowNum > 4 then V1.FEES else null end) as TKTFEEREST,
        sum(case when RowNum > 4 then V1.TOTAL else null end) as TKTTOTALREST
    from
        (select DESCRIPTION, STARTDATE, STARTTIME, QUANTITY, PRICE, DISCOUNTS, FEES, TOTAL, row_number() over (order by TOTAL desc) as RowNum
        from dbo.UFN_SALESORDER_TICKETS(@SALESORDERID)) V1 ) V2
    )