Como posso selecionar todos os nomes de testes em uma linha em vez de várias linhas no Oracle SQL se esses testes pertencem a um sample_id?
Esta é a consulta
select distinct d.sample_id, c.test_name_eng
from mr_files a,
lab_sample_header b,
lab_tests c,
lab_sample_details d,
lab_orders o
where a.patient_no = b.patient_no
and b.order_id = d.order_id
and c.test_no = d.test_no
and a.patient_no = o.patient_no
and b.order_id = o.order_id
and d.order_id = 2025000045
and b.sample_id = d.sample_id
and d.sample_status = 2;
Agora a saída:
SAMPLE_ID TEST_NAME
BCH-25-100 CALCIUM
BCH-25-100 SODIUM
BCH-25-100 ALBUMIN
HE-25-43 CBC
Mas preciso que a saída se os testes tiverem o mesmo ID de amostra apareça em uma linha e não em várias linhas como esta:
SAMPLE_ID TEST_NAME
BCH-25-100 CALCIUM ,SODIUM , ALBUMIN
HE-25-43 CBC
Existe uma função no servidor SQL que faz essa ideia chamada `
string_agg
`Mas eu não sei como fazer isso no Oracle?