Saya baru mengenal Oracle SQL dan saya harus menangani tugas seperti di bawah ini..
Saya telah melampirkan gambar di sini dan yang perlu saya lakukan saat ini adalah menggunakan SQL untuk menampilkan hasil seperti sisi kanan dari sisi kiri..
Saya perlu membuat daftar Kolom 2 (C2) dan Kolom 3 (C3), berdasarkan Kolom 1 (C1)
Jika C2 dan C3 hanya mendapat satu record dan tidak ada record yang terduplikasi,
maka hasilnya terlihat seperti baris pertama: 4316, Pengirim oranye 1, Hong Kong, Cina.
Namun ada beberapa kasus rumit seperti 4343/4403/4406 di C1.
C2 mungkin memiliki catatan duplikat tetapi C3 tidak miliki, sebaliknya.
Saya coba pakai rank_over, lalu hasilnya menjadi sebelah kiri pada gambar terlampir.
SELECT t1.number AS C1,
t2.shipper AS C2,
rank() over (partition BY t2.shipper
ORDER BY t1.number) AS rank_over_c2,
t2.venue AS C3,
rank() over (partition BY t2.venue
ORDER BY t1.number) AS rank_over_c3
FROM table1 t1,
table2 t2
Tapi setelah itu saya tidak tahu bagaimana saya bisa mendapatkan hasil seperti sisi kanan pada gambar terlampir..
Gambar ada di sini:
Sisi kiri adalah kolom dan data asli, saya ingin mendapatkan hasil seperti sisi kanan