> Hi,
>
> I think that the sql is not valid. Based on the order by
> documentation, a column label cannot be used in an expression.
>
> from https://www.postgresql.org/docs/11/queries-order.html
> > Note that an output column name has to stand alone, that is, it
> cannot be used in an expression.
Thanks. Yes, you are correct. The line should be something like:
,case when grouping(i_category)+grouping(i_class) = 0 then i_category end
> Regards
> s.
>
> On 11.03.2019 06:30, Tatsuo Ishii wrote:
>> I played with TPC-DS and found some of them can't be executed because
>> of SQL errors and I am not sure why.
>>
>> For example with query 36:
>>
>> select
>> sum(ss_net_profit)/sum(ss_ext_sales_price) as gross_margin
>> ,i_category
>> ,i_class
>> ,grouping(i_category)+grouping(i_class) as lochierarchy
>> ,rank() over (
>> partition by grouping(i_category)+grouping(i_class),
>> case when grouping(i_class) = 0 then i_category end
>> order by sum(ss_net_profit)/sum(ss_ext_sales_price) asc) as
>> rank_within_parent
>> from
>> store_sales
>> ,date_dim d1
>> ,item
>> ,store
>> where
>> d1.d_year = 2000
>> and d1.d_date_sk = ss_sold_date_sk
>> and i_item_sk = ss_item_sk
>> and s_store_sk = ss_store_sk
>> and s_state in ('TN','TN','TN','TN',
>> 'TN','TN','TN','TN')
>> group by rollup(i_category,i_class)
>> order by
>> lochierarchy desc
>> ,case when lochierarchy = 0 then i_category end -- line 25 is here.
>> ,rank_within_parent
>> limit 100;
>> psql:query_0.sql:1935: ERROR: column "lochierarchy" does not exist
>> LINE 25: ,case when lochierarchy = 0 then i_category end
>>
>> I have follwed the instruction here.
>> https://ankane.org/tpc-ds
>>
>> PostgreSQL is master branch HEAD. For me, the SQL above looks to be
>> valid.
>>
>> Best regards,
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese:http://www.sraoss.co.jp
>>
>