Sql 主要编辑。感谢您根据其他答案编辑答案。我真的不想创建任何表或添加任何列。我们的支持提供商对什么会破坏他们与我们的支持协议非常挑剔,我最不想做的就是给他们一个借口,在需要时退出。我可以试着把它当作一张临时桌子。 SELECT t.*, CASE WH
Sql 主要编辑。感谢您根据其他答案编辑答案。我真的不想创建任何表或添加任何列。我们的支持提供商对什么会破坏他们与我们的支持协议非常挑剔,我最不想做的就是给他们一个借口,在需要时退出。我可以试着把它当作一张临时桌子。 SELECT t.*, CASE WH,sql,oracle,Sql,Oracle,主要编辑。感谢您根据其他答案编辑答案。我真的不想创建任何表或添加任何列。我们的支持提供商对什么会破坏他们与我们的支持协议非常挑剔,我最不想做的就是给他们一个借口,在需要时退出。我可以试着把它当作一张临时桌子。 SELECT t.*, CASE WHEN LENGTH(CUSTOMER_NO) != '6' and text like '%Nike%' or CUSTOMER_NO IS NULL and text like '%Nike%' THEN 'NIK001' WHEN
主要编辑。感谢您根据其他答案编辑答案。我真的不想创建任何表或添加任何列。我们的支持提供商对什么会破坏他们与我们的支持协议非常挑剔,我最不想做的就是给他们一个借口,在需要时退出。我可以试着把它当作一张临时桌子。
SELECT t.*,
CASE
WHEN LENGTH(CUSTOMER_NO) != '6' and text like '%Nike%' or CUSTOMER_NO IS NULL and text like '%Nike%' THEN 'NIK001'
WHEN LENGTH(CUSTOMER_NO) != '6' and text like '%Nike%' or CUSTOMER_NO IS NULL and text like '%Reebok%' THEN 'REB001'
ELSE CUSTOMER_NO
END as CUSTOMER_NO_ADJUSTED
FROM
gen_led_voucher_row_tab t
SELECT
/* CASE statement to rename CODE_D product lines to what the product is. List was provided by accounting in June of 2014 */
CASE
WHEN CODE_D = '11' or CODE_D = '12' or CODE_D = '18' or CODE_D IS NULL THEN 'Laces'
WHEN CODE_D = '15' or CODE_D = '16' or CODE_D = '40' or CODE_D = '45' or CODE_D = '50'
or CODE_D = '55' or CODE_D = '60' or CODE_D = '65' or CODE_D = '67' or CODE_D = '30'
or CODE_D = '35' THEN 'Custom Soles'
WHEN CODE_D = '17' THEN 'Custom Heels'
WHEN CODE_D = '19' or CODE_D = '39' or CODE_D = '49' or CODE_D = '59' or CODE_D = '69'
THEN 'Socks'
WHEN CODE_D = '14' THEN 'Sneakers'
WHEN CODE_D = '89' THEN 'Dress Shoes'
WHEN CODE_D = '99' THEN 'Other'
ELSE 'UNKNOWN'
END as DEPARTMENT,
sum(coalesce(credit_amount, 0) - coalesce(debet_amount,0)) as TOTAL
FROM
KPIC_MIKE_METRIC1 a
where ACCOUNTING_YEAR like '2014'
and ACCOUNT not like '4010'
and ACCOUNT like '4%'
and Exists
(
Select *
From KPIC_MIKE_METRIC1 b
where voucher_date >= '01-FEB-13'
and voucher_date < '01-FEB-14'
and ACCOUNT not like '4010'
and ACCOUNT like '4%'
and (credit_amount > '1' or debet_amount > '1')
and a.CUSTOMER_NO_ADJUSTED = b.CUSTOMER_NO_ADJUSTED
)
GROUP BY
/*
This GROUP BY statement needs to contain an entire copy of the CASE statement, minus the alias.
If changes are made to the CASE statement please update this GROUP BY statement
*/
CASE
WHEN CODE_D = '11' or CODE_D = '12' or CODE_D = '18' or CODE_D IS NULL THEN 'Laces'
WHEN CODE_D = '15' or CODE_D = '16' or CODE_D = '40' or CODE_D = '45' or CODE_D = '50'
or CODE_D = '55' or CODE_D = '60' or CODE_D = '65' or CODE_D = '67' or CODE_D = '30'
or CODE_D = '35' THEN 'Custom Soles'
WHEN CODE_D = '17' THEN 'Custom Heels'
WHEN CODE_D = '19' or CODE_D = '39' or CODE_D = '49' or CODE_D = '59' or CODE_D = '69'
THEN 'Socks'
WHEN CODE_D = '14' THEN 'Sneakers'
WHEN CODE_D = '89' THEN 'Dress Shoes'
WHEN CODE_D = '99' THEN 'Other'
ELSE 'UNKNOWN'
END
ORDER BY TOTAL DESC
create table departments (
id int primary key,
name varchar(50)
);
insert into departments values(1, 'Laces');
insert into departments values(2, 'Custom Soles');
insert into departments values(3, 'Custom Heels');
insert into departments values(4, 'Socks');
create table dept_codes (
code_d varchar(2) primary key,
dept_id int
);
insert into dept_codes values('11', 1); -- Laces
insert into dept_codes values('12', 1);
insert into dept_codes values('18', 1);
insert into dept_codes values('15', 2); -- Custom Soles
insert into dept_codes values('16', 2);
insert into dept_codes values('40', 2);
insert into dept_codes values('45', 2);
insert into dept_codes values('50', 2);
insert into dept_codes values('17', 3); -- Custom Heels
insert into dept_codes values('19', 4); -- Socks
insert into dept_codes values('39', 4);