임의의 결과값 출력처리문제. 0 8 508

by 날아라! [MySQL] [2018.08.23 20:25:04]


20180823_202738.png (10,551Bytes)

안녕하세요.. 아쉬울때만 찾게되네요 ㅡㅡ

며칠전 업데이트쿼리 관련 질문을 드렸는데요.

 

작업을 진행하는과정중에 안풀리는 문제점이 있어서 고수분들께 조언을 구하고자합니다.

아래 이미지처럼 신청서번호 ~ 무게 까지의 데이터가 존재하는 테이블이 있습니다.

맨 오른쪽의 부피무게는 계산을 통해서 생성된 값인데요. 실질적으로 디비에 데이터가 쌓이는것은 아닙니다.

 

여기에서 문제는 신청서번호별 부피무게값을 묶어서 다른테이블에 업데이트하고 싶은데. 제가 원하는대로 결과가 나타나질 않네요 ㅡㅡ

예를 들어 신청서번호가 1621996에 대해 그룹으로 묶게되면 부피무게가 38,4 <--- 이런식으로 구분자를 통해 다른테이블에 저장하고 싶습니다

 

고수분들의 쿼리조언좀 부탁드립니다.

by 아발란체 [2018.08.23 20:58:39]

GROUP_CONCAT이라는 함수를 이용하여 업데이트 할 수 있을 것 같습니다.

WITH T AS (
  SELECT 162196 AS 신청서번호, 6094309218756 AS 운송장번호, 15 AS 가로크기, 30 AS 세로크기, 21 AS 높이, 2 AS 무게, 38 AS 부피무게
  UNION ALL SELECT 162196, 6094309218711, 5, 6, 6, 4, 4
)
SELECT
  신청서번호, GROUP_CONCAT(부피무게)
FROM 
  T

 


by 날아라! [2018.08.23 21:51:45]

답변감사합니다.. 제가 초짜라.. 몰라서 여쭙는데요. with절은 어떻게 적용을 하는건가요?? ㅡㅡ


by 우리집아찌 [2018.08.24 09:20:39]

WITH 절은 테이블이라 생각하시면 됩니다.

샘플값을 테이블처럼 보이기위해 사용한예입니다.


by 날아라! [2018.08.24 09:35:59]

답변감사힙니다..^^ 아찌님..

아발란체>> GROUP_CONCAT은 말씀전에 미리테스트해본내용입니다 ㅡㅡ 제가 쿼리를 잘못해서 그런건지.. 원하는 결과물이 안나오네요....


by 아발란체 [2018.08.24 09:53:27]

최종 사용 쿼리를 올려주세요~ 단서가 부족해 보입니다.


by 날아라! [2018.08.24 10:09:30]
관심가져주셔서 감사합니다. 간단히 아래쿼리로 테스트중입니다.

select group_concat(t_weight) as t1
  from (
  	     SELECT if(2 > 38, 2, '38') as t_weight <-- 이 부분을 어떻게 처리해야될지 모르겠ㄴ요 ㅡㅡ
		FROM tbl
	      WHERE invoice_no = '1621996'
	  ) as src

1621996 는 신청서번호가 그룹으로 이루어져 처리되어야하는데 셀렉트문을 어떻게 해야될지...


by 우리집아찌 [2018.08.24 10:41:12]

MY SQL은 잘은 모르는데 IF문에서 DATA TYPE 이 틀리네요

2=> '2' 하시거나 '38' => 38 해서 맞춰주셔야할듯한데요. 


by 날아라! [2018.08.24 21:42:04]

처리되었습니다. 감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입