左连接不返回空值为MySQL查询中缺少的条目[关闭]

i34xakig  于 2023-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(158)

已关闭,此问题需要details or clarity。目前不接受答复。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

昨天关门了。
Improve this question
我正在尝试使用MySQL创建会计 Jmeter 板。目前,我正在处理一个问题,如果一个帐户(kode_perkiraan)的交易没有在当月发生,它应该从上个月检索相应的行。但是,当我尝试首先使用空值显示它时,它没有显示预期的结果。我的查询是否有问题?

WITH periods_list AS (
    SELECT DISTINCT kode_perkiraan
    FROM fact_table
    WHERE keterangan LIKE 'Saldo per 31 Dec%' -- Balance as of December 31st last year
)

SELECT t.period_id,
    t.tanggal, -- date
    p.kode_perkiraan, -- Account Number
    t.parent, -- Account Parent
    t.`Is Parent?`,
    t.category,
    t.`Sub Cat`,
    t.`CoA Standard`, -- Standardized Account Number
    t.nama, -- account name
    t.`Saldo Awal DB`, -- Beginning balance Debit
    t.`Saldo Awal CR`, -- Beginning balance Credit
    t.`Saldo Akhir DB`, -- Ending Balance Debit
    t.`Saldo Akhir CR`, -- Ending Balance Credit
    t.`Mutasi DB`, -- Account Mutation Debit
    t.`Mutasi CR`, -- Account Mutation Credit
    t.`Perbedaan Saldo DB`, -- Balance Difference Debit
    t.`Perbedaan Saldo CR`, -- Balance Difference Credit
    t.`Saldo Awal`, -- Beginning Balance
    t.`Saldo Akhir`, -- Ending Balance
    t.`Mutasi` -- Mutation
FROM periods_list p
LEFT JOIN fact_table t
    ON p.kode_perkiraan = t.kode_perkiraan;

根据所提供的代码,它返回正常结果,不包含任何空值,而不考虑缺少的帐户。periods_list部分收集年初余额,所有账户都在那里。请注意,这将是一个连续的数据,所以不只是一年,它将有望无限期地运行,所以硬编码的一年将不是真正理想的。
另外,我应该使用COALESCE来重复前面的条目吗?
Sample Data

krcsximq

krcsximq1#

我会做这样的事情,正如你所看到的,一个cpolumn是不够的,但与日期列,你可以管理它。

WITH periods_list AS (
    SELECT DISTINCT DATE(tanggal) as tanggal, kode_perkiraan
    FROM fact_table
    WHERE nama LIKE 'Saldo per 31 Dec%'
)

SELECT t.period_id,
    t.tanggal,
    p.kode_perkiraan,
    t.parent,
    t.`Is Parent?`,
    t.category,
    t.`Sub Cat`,
    t.`CoA Standard`,
    t.nama,
    t.`Saldo Awal DB`,
    t.`Saldo Awal CR`,
    t.`Saldo Akhir DB`,
    t.`Saldo Akhir CR`,
    t.`Mutasi DB`,
    t.`Mutasi CR`,
    t.`Perbedaan Saldo DB`,
    t.`Perbedaan Saldo CR`,
    t.`Saldo Awal`,
    t.`Saldo Akhir`,
    t.`Mutasi`
FROM periods_list p
left JOIN fact_table t
    ON p.kode_perkiraan = t.kode_perkiraan
AND p.tanggal + INTERVAL 1 Month = DATE(t.tanggal)

| 周期ID|唐加尔|kode_perkiraan|亲本|是父母吗?|类别|潜水猫|CoA标准品|纳马|Saldo Awal DB|萨尔多·阿瓦尔|Saldo Akhir DB| Saldo Akhir CR| Mutasi DB|穆塔西|Perbedaan Saldo DB| perl 贝丹萨尔多|萨尔多·阿瓦尔|萨尔多·阿希尔|木塔寺|
| - -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|- -----|
| 202201| 2019 - 01 - 21 00:00:00|一百零一|一百|0|公平|联系我们|十万|无名氏|九百两千五|0|两千五百七十五|0|一千六百点五|0|七百两毛五|0|一千六百点五|两千五百七十五|七百两毛五|
| 202201| 2019 - 01 - 21 00:00:00|二百零二|两百|0|责任|联系我们|二十万|简·史密斯|四百零五|0|两千八百二十五|0|两千四百七十五|0|一百点五|0|两千四百七十五|两千八百二十五|一百点五|
| 联系我们|联系我们|三百零三|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|
| 202201| 2019 - 01 - 21 00:00:00|四百零四|四百|0| PnL|联系我们|四十万|鲍勃·安德森|0|九百零五|0|一千六百七十五|0|七百两毛五|0|九百零五|一千六百七十五|七百两毛五|0|
| 202201| 2019 - 01 - 21 00:00:00|五百零五|五百|0|公平|联系我们|十万|艾米莉·戴维斯|800.75| 0| 2200.5| 0|一千四百二十五|0| 500.75| 0|一千四百二十五|2200.5| 500.75|
| 联系我们|联系我们|六百零六|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|
| 202201| 2019 - 01 - 21 00:00:00|七百零七|七百|0|资产|联系我们|三十万|凯伦·威尔逊|0| 0| 0| 2000.75| 0| 2000.75| 0| 2000.75| 0| 2000.75| 0|
| 202201| 2019 - 01 - 21 00:00:00|八百零八|八百|0| PnL|联系我们|四十万|大卫·布朗|0|一千二百七十五|0|一千四百零五|0|二百七十五|0|一千二百七十五|一千四百零五|二百七十五|0|
| 联系我们|联系我们|九百零九|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|联系我们|
| 202201| 2019 - 01 - 21 00:00:00| 654.21|六五四|0|资产|联系我们|三十万|托马斯·Json|0| 0| 0|一千五百点二五|0|一千五百点二五|0|一千五百点二五|0|一千五百点二五|0|
fiddle

相关问题