必须有一种更好的方法来避免重复使用case块 [英] There must be a better way to avoid the case block to repeate
问题描述
有没有办法在下面的查询中不重复case语句。
尝试类似d_buysell = t.debit_credit_cd
SELECT( CASE
WHEN transtype ='5'THEN'D'
WHEN transtype ='6'THEN'C '
END)AS d_buysell,
FROM dailyrecon AS d
LEFT OUTER JOIN br..trades AS t
ON d.effectdate = t.loaddateint
AND( CASE
WHEN d.transtype ='5'THEN'D'
WHEN d.transtype ='6'THEN'C'
END )= t.debit_credit_cd
< blockquote>如果是SQL Server,公用表表达式怎么样?
Is there a way to not repeat the case statement in the query below.
Was trying something like d_buysell=t.debit_credit_cd
SELECT ( CASE
WHEN transtype = '5' THEN 'D'
WHEN transtype = '6' THEN 'C'
END ) AS d_buysell,
FROM dailyrecon AS d
LEFT OUTER JOIN br..trades AS t
ON d.effectdate = t.loaddateint
AND ( CASE
WHEN d.transtype = '5' THEN 'D'
WHEN d.transtype = '6' THEN 'C'
END ) = t.debit_credit_cd
If SQL Server, how about a Common Table Expression?
这篇关于必须有一种更好的方法来避免重复使用case块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!