-- $Id: tpch12.sql 2657 2007-06-12 16:08:15Z rdempsey $
-- TPC-H/TPC-R Shipping Modes and Order Priority Query (Q12)
-- Functional Query Definition
-- Approved February 1998

define 1 = MAIL
define 2 = SHIP
define 3 = 1994-01-01

select
	l_shipmode,
	sum(case
		when o_orderpriority = '1-URGENT'
			or o_orderpriority = '2-HIGH'
			then 1
		else 0
	end) as high_line_count,
	sum(case
		when o_orderpriority <> '1-URGENT'
			and o_orderpriority <> '2-HIGH'
			then 1
		else 0
	end) as low_line_count
from
	orders,
	lineitem
where
	o_orderkey = l_orderkey
	and l_shipmode in ('&1', '&2')
	and l_commitdate < l_receiptdate
	and l_shipdate < l_commitdate
	and l_receiptdate >= date '&3'
	and l_receiptdate < date '&3' + interval '1' year
group by
	l_shipmode
order by
	l_shipmode;

