【发布时间】:2016-03-07 16:17:11
【问题描述】:
我正在处理表中的列/字段,该表具有多个与之关联的“代码”或“ID”。
afacctbal 表有一个名为 afacbbalid 的列/字段,其中可能的值可以是 COST、PRN 或 COLL。
我遇到的问题是在帐户中提取 COST 等于 0 的行。
我在 where 子句中尝试了子查询 SQL 语句,但返回一般错误。现在我正在尝试一个 IN 语句,但这似乎也不起作用。
这是我得到的:
select araccount.aracid as AccountID, arentity.arenst State, arentity.ARENNAME ClientName,
afaccount.afaccurbal CurrentBal, afacctbal.afacbcurbal PrincipalBal,
afacctbal.AFACBbalid
from araccount
inner join arrelationship on araccount.aracid = arrelationship.arrelacid
inner join arentity on arentity.arenid = arrelationship.ARRELENID
inner join afaccount on afaccount.afacacctid = araccount.ARACID
inner join afacctbal on afaccount.AFACKEY = afacctbal.AFACBACCTID
where afacctbal.afacbbalid in("COST",0)
and afaccount.AFACRATEID = "MN100"
and arentity.ARENST = "MN"
and araccount.araclstdte > "2013-04-01"
order by afaccount.afaccurbal
问题在于我的 where 子句 这里:
where afacctbal.afacbbalid in("COST",0)
如何检查 COST 并检查其是否等于 0?
财务报表 使用值: afacbbalid -- 余额 ID afacbcurbal -- 每个余额 id 的余额。 账户表 使用值: afaccurbal -- 当前余额
【问题讨论】:
-
请提供您的表结构、示例数据和期望的结果。
-
这些表有数百个字段,有什么方法可以大致了解前进的方向吗?
-
字段 afacbbalid 有 COST PRN COLL 的可能性,每个在帐户中都有一个与之关联的值,我只需要能够提取该值。所以像 afacbbalid.COST = ??并显示它
-
您不需要提供整个表格——只需提供相关部分即可。你说
afacbbalid是 3 个值之一——那它怎么可能是 0 呢?提供样本数据和预期结果会更容易。 -
示例数据类似于 Owen Smith,当前余额 500.0 美元,本金余额 250,afacbbalid COST。那将是一排,其中 250 是成本。下一行就像 Owen Smith,当前余额 500 美元,本金余额 200。 afacbbalid INT,依此类推,所有 afacbbalid 加起来就是当前余额。