mysql select시 같은 컬럼이 있을때 값들을 배열로 만들수있을까요 채택완료
sql문을 아래와 같이 했을때
select g5_estimate_list.idx, g5_estimate_list.item_cat, g5_estimate_list.item_cat_dtl, g5_estimate_list.manufacturer, g5_estimate_list.year, g5_estimate_list.medel_name, g5_estimate_propose.price
from g5_estimate_list join g5_estimate_propose
where g5_estimate_list.idx = g5_estimate_propose.estimate_idx and item_cat_dtl is not null and price is not 0;
이 값들이 나옵니다.
이때 idx가 같은 것들을 price를 배열로 만들고 하나만 조회되게 하고싶습니다.
json 파일로 내보내기해서 몽고디비로 옮기려고합니다
답변 1개
select g5_estimate_list.idx, g5_estimate_list.item_cat, g5_estimate_list.item_cat_dtl, g5_estimate_list.manufacturer, g5_estimate_list.year, g5_estimate_list.medel_name, group_concat(g5_estimate_propose.price separator '|')
....
group by g5_estimate_list.idx, g5_estimate_list.item_cat, g5_estimate_list.item_cat_dtl, g5_estimate_list.manufacturer, g5_estimate_list.year, g5_estimate_list.medel_name
답변에 대한 댓글 3개
concat("[", group_concat(g5_estimate_propose.price), "]") 으로 한다음에
넣을때 json_decode 해서 넣으면 되지 않을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이 방식으로 해봤는데 내보낸 json 파일을 몽고디비에 넣어보니 price부분이 배열로 값이 각각 하나씩 들어가는게 아닌 10000, 20000, 30000 이 형태로 하나의 문자열로 들어가집니다.