Daftar dan Belajar Sekarang!

Bagaimana supaya company_name ini menjadi array?

foto irmanfreestyle
320 Kontribusi 46 Coto
2 bulan yang lalu
Saya menjalankan query seperti ini
select users.full_name, user_job_history.company_name from users join user_job_history where users.user_id = user_job_history.user_fk
dan hasilnya seperti ini
[
 {
  full_name: "irman free",
  company_name: "Bukavalak"
 },
 {
  full_name: "sven",
  company_name: "Sven Edit Corp"
 },
 {
  full_name: "irman free",
  company_name: "Sakoo"
 }
]
apakah ada cara lain supaya hasil dari query diatas bisa mengasilkan data seperti ini
[
 {
  full_name: "irman free",
  company_name: ["Bukavalak", "Sakoo"] // <-- JIKA FULL_NAME MEMILIKI LEBIH DARI SATU 
  //COMPANY_NAME MAKA AKAN MENJADI ARRAY SEPERTI INI
 },
 { 
  full_name: "sven",
  company_name: "Sven Edit Corp"
 }
]
atau saya harus manipulasi sendiri menggunakan javascript hasilnya supaya bisa menjadi array seperti itu?(saya menggunakan node.js)

Tag: mysql nodejs database

✔ Forum ini sudah terjawab


Jawaban
foto sukmaw
335 Kontribusi 73 Coto
2 bulan yang lalu
sepengalaman sih ada 2 cara, menggunakan group_concat atau menggunakan where in (2 query) group_concat() :
select users.full_name, group_concat(user_job_history.company_name SEPARATOR ',') as user_companies from users left join user_job_history on users.user_id = user_job_history.user_fk GROUP BY users.id
kurang lebih hasil nya seperti ini :
[
 {
  full_name: "irman free",
  company_name: "Bukavalak,Sakoo" // separator dengan ',' bisa di ganti sesuai ke inginan
 },
 { 
  full_name: "sven",
  company_name: "Sven Edit Corp"
 }
]
hasil tersebut bisa menggunakan string split (pada php bisa menggunakan fungsi explode()) where in : pertama select users nya terlebih dahulu
select users.full_name from users
kedua
SELECT * FROM user_job_history WHERE user_job_history.user_fk IN (1, 2, ... <id user>)
answered icon
foto sukmaw
335 Kontribusi 73 Coto
2 bulan yang lalu
sepengalaman sih ada 2 cara, menggunakan group_concat atau menggunakan where in (2 query) group_concat() :
select users.full_name, group_concat(user_job_history.company_name SEPARATOR ',') as user_companies from users left join user_job_history on users.user_id = user_job_history.user_fk GROUP BY users.id
kurang lebih hasil nya seperti ini :
[
 {
  full_name: "irman free",
  company_name: "Bukavalak,Sakoo" // separator dengan ',' bisa di ganti sesuai ke inginan
 },
 { 
  full_name: "sven",
  company_name: "Sven Edit Corp"
 }
]
hasil tersebut bisa menggunakan string split (pada php bisa menggunakan fungsi explode()) where in : pertama select users nya terlebih dahulu
select users.full_name from users
kedua
SELECT * FROM user_job_history WHERE user_job_history.user_fk IN (1, 2, ... <id user>)

Login untuk tulis komentar



Login untuk diksusi di forum sekolah koding