希望有人可以帮助我...... 我有2个表,其中包含pinjid列的详细信息作为核心,
表1:pinjamanpinjid nilai jasa
1 100 10
2 200 20
3 400 40
4 500 50

表2:transaksi_detail
id pinjid tanggal pokok t_jasa
1 1 2018-02-01 100 10
2 2 2018-02-05 100 10
3 1 2018-02-11 30 3
4 3 2018-02-18 200 20
5 3 2018-02-20 60 6
6 2 2018-02-21 70 7

我需要合并两个表或创建一个视图来显示以下数据。
pinjid nilai jasa pokok t_jasa
1 100 10 30 3
2 200 20 70 7
3 400 40 60 6
3 500 50 0 0

来自transaki_detail的数据teken是pinjid的最新日期和组。 通过以下查询,transaksi_detail表中的数据不是最新的日期。
SELECT p.pinjid AS pinjid,
p.anggota AS anggota,
p.nilai_pinjam AS nilai_pinjam,
p.nilai_jasa AS nilai_jasa,
t.pokok AS pokok,
t.jasa AS jasa,
t.denda AS denda
FROM (pinjaman p
CROSS JOIN transaksi_detail t)
GROUP BY p.pinjid

我知道我可能需要在where子句中使用max(tanggal)来获取数据的最新数据,但我不知道如何实现它。
答案 0 :(得分:0)
您将join
表格,然后过滤以获取最新日期。这是一种方法:
SELECT p.pinjid AS pinjid, p.anggota AS anggota, p.nilai_pinjam AS nilai_pinjam, p.nilai_jasa AS nilai_jasa,
t.pokok AS pokok, t.jasa AS jasa, t.denda AS denda
FROM pinjaman p JOIN
transaksi_detail t
ON p.pinjid = t.pinjid
WHERE t.tanggal = (SELECT MAX(t2.tanggal)
FROM transaksi_detail t2
WHERE t2.pinjid = t.pinjid
);