问题描述
我想用将使用两个表的总和进行连接。我想为不在表 2 中的税码显示 0。是否有我可以使用的连接,结果 INS1 为 150,INS2 为 0?
表一
税号 | 归档代码 |
---|---|
INS1 | INS |
INS2 | INS |
表 2
税号 | 付款 |
---|---|
INS1 | 50.00 |
INS1 | 100.00 |
解决方法
你只需要一个简单的左外连接,
fees.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view,MotionEvent event) {
SharedPreferences.Editor editor=sharedPref.edit();
editor.putBoolean("feesIn",!feesIn);
editor.apply();
if(sharedPref.getBoolean("feesIn",false)){
fees.setBackgroundColor(Color.parseColor("#515de1"));
fees.setTextColor(Color.WHITE);
}else{
fees.setBackgroundColor(Color.WHITE);
fees.setTextColor(Color.parseColor("#515de1"));
}
return false;
}
});
,
Select t1.TaxCode,t1.FillingCode,sum(nvl(Payment,0)) as Payment
from Table1 t1
left outer join Table2 t2 on t1.Taxcode=t2.Taxcode
group by t1.Taxcode,t1.FillingCode;
,
对于任何正在寻找此类问题的解决方案的人,我的有效查询如下
SELECT
T.TRAN_CODE,SUM(ISNULL(TF.PAYMENT,0)) AS PrePayment
FROM
Tranctl AS T
LEFT OUTER JOIN (
SELECT
T.TRAN_CODE,0 AS PAYMENT
FROM
Tranctl AS T
CROSS JOIN Tran_File AS TF
UNION ALL SELECT
TF.TRAN_CODE,TF.PAYMENT AS PrePayment
FROM Tran_File AS TF
WHERE
TF.ID = '10175'
AND TF.TAX_YEAR = '2021'
) TF ON T.TRAN_CODE = TF.TRAN_CODE
WHERE
T.Filing_Code = 'INS'
GROUP BY
T.TRAN_CODE