使用左连接空值不显示
using left join empty value don't shown
BEGIN
SELECT DISTINCT
caccounts.ACODE,
caccounts.TITLE,
feestructure.Amount
FROM
caccounts
LEFT OUTER JOIN feestructure ON caccounts.ACODE = feestructure.FeeHeadCode
where
feestructure.ACODE=aaa
GROUP BY feestructure.ACODE,feestructure.FeeHeadCode;
END
以下是内部联接,其中 'aaa' 在 运行 时间获取的值...但是没有显示具有 'Amount' 空值的行
如果有人知道解决方案,请与我分享。谢谢
我的名声很低,所以我不能post图片
您具体提到了 Amount
列,但是 null
列应该与是否显示记录无关。
最可能的原因是 ACODE
对于有问题的特定记录也是 null
,您需要更改 where
子句以指定 ACODE
可以是 null
:
... where (feestructure.ACODE = @aaa OR feestructure.ACODE IS null) ...
(我假设您正确地将 "aaa" 作为参数传递给您的查询。)
你的 WHERE 子句
feestructure.ACODE = aaa
只会 return ACODE 为 aaa 的行,这意味着帐户中没有匹配费用结构行的任何行都不会得到 returned,因为帐户的 ACODE 赢了不存在,因此不是 aaa。
因此,您需要在 WHERE 子句中添加一个条件来说明这一点:
WHERE (feestructure.ACODE = aaa OR feestructure.ACODE IS NULL)
我只是删除 where 子句并将 feestructure.ACode=aaa 放在左连接中
SELECT DISTINCT
feehead.ACODE,
feehead.TITLE,
feestructure.Amount
FROM
feehead
LEFT JOIN feestructure ON feestructure.FeeHeadCode = feehead.ACODE and feestructure.ACode=aaa
GROUP BY feehead.ACode,feehead.TITLE ;
BEGIN
SELECT DISTINCT
caccounts.ACODE,
caccounts.TITLE,
feestructure.Amount
FROM
caccounts
LEFT OUTER JOIN feestructure ON caccounts.ACODE = feestructure.FeeHeadCode
where
feestructure.ACODE=aaa
GROUP BY feestructure.ACODE,feestructure.FeeHeadCode;
END
以下是内部联接,其中 'aaa' 在 运行 时间获取的值...但是没有显示具有 'Amount' 空值的行 如果有人知道解决方案,请与我分享。谢谢
我的名声很低,所以我不能post图片
您具体提到了 Amount
列,但是 null
列应该与是否显示记录无关。
最可能的原因是 ACODE
对于有问题的特定记录也是 null
,您需要更改 where
子句以指定 ACODE
可以是 null
:
... where (feestructure.ACODE = @aaa OR feestructure.ACODE IS null) ...
(我假设您正确地将 "aaa" 作为参数传递给您的查询。)
你的 WHERE 子句
feestructure.ACODE = aaa
只会 return ACODE 为 aaa 的行,这意味着帐户中没有匹配费用结构行的任何行都不会得到 returned,因为帐户的 ACODE 赢了不存在,因此不是 aaa。
因此,您需要在 WHERE 子句中添加一个条件来说明这一点:
WHERE (feestructure.ACODE = aaa OR feestructure.ACODE IS NULL)
我只是删除 where 子句并将 feestructure.ACode=aaa 放在左连接中
SELECT DISTINCT
feehead.ACODE,
feehead.TITLE,
feestructure.Amount
FROM
feehead
LEFT JOIN feestructure ON feestructure.FeeHeadCode = feehead.ACODE and feestructure.ACode=aaa
GROUP BY feehead.ACode,feehead.TITLE ;