const dbFuncionarios = _db.query( `select funcionario.id, funcionario.uid, funcionario.nome, funcionario.idade, funcionario.email, funcionario.telemovel, armazem.id "Armazem" from funcionario inner join armazem on funcionario.armazem_id = armazem.id` ) const func = _val.list(); for (const dbFuncionario of dbFuncionarios){ const dbEspecialidades = _db.query( `select especialidade.nome from especialidade inner join func_especialidade on especialidade.id = func_especialidade.especialidade_id where func_especialidade.funcionario_id = ? `, dbFuncionario.getInt("id") ); const esp = _val.list() for (const dbEspecialidade of dbEspecialidades){ esp.add(dbEspecialidade.getString("nome")) } const dbArmazens = _db.query( `select armazem.nome from armazem inner join func_armazem on armazem.id = func_armazem.armazem_id where func_armazem.funcionario_id = ? `, dbFuncionario.getInt("id") ) const armz = _val.list() for (const dbArmazem of dbArmazens){ armz.add(dbArmazem.getString("nome")) } func.add( _val.map() .set("uid", dbFuncionario.getString("uid")) .set("name", dbFuncionario.getString("nome")) .set("age", dbFuncionario.getString("idade")) .set("email", dbFuncionario.getString("email")) .set("phone", dbFuncionario.getString("telemovel")) .set("esp", esp) .set("armz", armz) ) } _out.json( func )