Sql 尝试使用外部连接,它将使用“null”作为默认值。了解Mark很有意思,但正如我提到的,基本代码是由BI包通过拖放表/字段/连接生成的…因此它不是真正的habithi@user2636610,如果你能提供示例数据就好了=)@user2636610:可能会生
Sql 尝试使用外部连接,它将使用“null”作为默认值。了解Mark很有意思,但正如我提到的,基本代码是由BI包通过拖放表/字段/连接生成的…因此它不是真正的habithi@user2636610,如果你能提供示例数据就好了=)@user2636610:可能会生,sql,sql-server,tsql,Sql,Sql Server,Tsql,尝试使用外部连接,它将使用“null”作为默认值。了解Mark很有意思,但正如我提到的,基本代码是由BI包通过拖放表/字段/连接生成的…因此它不是真正的habithi@user2636610,如果你能提供示例数据就好了=)@user2636610:可能会生成代码,但是它是可以改进的,你不认为他不想使用任何加入关键字~@user2636610:这有用吗?非常感谢拉维,这让我达到了目的,而不仅仅是为了找出原因/方式!虽然我只是需要更改案例的位置,在select中,我需要它在mkt_段上,而不是acc
尝试使用外部连接,它将使用“null”作为默认值。了解Mark很有意思,但正如我提到的,基本代码是由BI包通过拖放表/字段/连接生成的…因此它不是真正的habithi@user2636610,如果你能提供示例数据就好了=)@user2636610:可能会生成代码,但是它是可以改进的,你不认为他不想使用任何加入关键字~@user2636610:这有用吗?非常感谢拉维,这让我达到了目的,而不仅仅是为了找出原因/方式!虽然我只是需要更改案例的位置,在select中,我需要它在mkt_段上,而不是acct_代码上。但是一切都很好。@user2636610:我检查过了,它在几分钟前就已经更新了。他不想使用任何join关键字~@user2636610:这有帮助吗?非常感谢Ravi,这让我达到了目的,而不仅仅是为了找出原因/方法!虽然我只是需要更改案例的位置,在select中,我需要它在mkt_段上,而不是在acct_代码上。但是一切都很好。@user2636610:我检查过了,它在几分钟前就已经更新了。
SELECT
CASE WHEN substring(cast(dbo.gl_acct_detail.accounting_period as CHAR), 5, 2) < '07'
THEN Left(dbo.gl_acct_detail.accounting_period, 6) - 94
ELSE Left(dbo.gl_acct_detail.accounting_period, 6) - 6
end,
dbo.gl_acct_detail.org_code,
dbo.gl_acct_detail.acct_code,
dbo.prj_phase.mkt_segment,
CASE WHEN (dbo.gl_acct_detail.fiscal_per_nbr <> '12' and dbo.gl_acct_detail.acct_code = '70199')
THEN '0'
ELSE dbo.gl_acct_detail.db_amt_cc - dbo.gl_acct_detail.cr_amt_cc
end
FROM
dbo.gl_acct_detail, dbo.sys_defaults, dbo.prj_phase
WHERE
dbo.gl_acct_detail.fiscal_year = dbo.sys_defaults.current_fiscal_year -1
AND dbo.gl_acct_detail.phase_code = dbo.prj_phase.phase_code
AND dbo.gl_acct_detail.prj_code = dbo.prj_phase.prj_code
SELECT
CASE WHEN substring(cast(dbo.gl_acct_detail.accounting_period as CHAR), 5, 2) < '07'
THEN Left(dbo.gl_acct_detail.accounting_period, 6) - 94
ELSE Left(dbo.gl_acct_detail.accounting_period, 6) - 6
end,
dbo.gl_acct_detail.org_code,
dbo.gl_acct_detail.acct_code
,
case
when (dbo.gl_acct_detail.phase_code is null or dbo.gl_acct_detail.prj_code is null)
then 'default value'
else dbo.prj_phase.mkt_segment
end mkt_segment,
CASE WHEN (dbo.gl_acct_detail.fiscal_per_nbr <> '12' and dbo.gl_acct_detail.acct_code = '70199')
THEN '0'
ELSE dbo.gl_acct_detail.db_amt_cc - dbo.gl_acct_detail.cr_amt_cc
end
FROM
dbo.gl_acct_detail
left join
dbo.sys_defaults on dbo.gl_acct_detail.fiscal_year = dbo.sys_defaults.current_fiscal_year -1
left join
dbo.prj_phase on dbo.gl_acct_detail.phase_code = dbo.prj_phase.phase_code
AND dbo.gl_acct_detail.prj_code = dbo.prj_phase.prj_code