SQL
-
Replace, Translate 이용 / Order by 임의지정SQL/MSSQL 2023. 7. 5. 10:08
dma105 테이블에서 spec 컬럼은 HD300*2400 등 숫자앞에 문자와 숫자가 결합된 형태의 데이터이고 거래처에서 spec_bc 컬럼의 데이터중에서 'ACC'를 제외한 나머지는 문자를 제거해서 보여주길 원했다. 그림1 - spec_bc 컬럼 젤 밑쪽 'ACC' 참고 서브쿼리(Inline View) 절에서 spec컬럼 값인 HD300*2400 와 같은 문자,숫자,특수문자로 결합된 데이터를 문자만 남겨두고 숫자와 특수문자는 제거하기 위해서 translate를 이용하여 빈문자열로 변환뒤 trim으로 공백제거를 해서 HD라는 문자만을 남기게 했고 그 컴럼값을 spec_text라고 명명했다. select 문에서 case when을 통해 spec_bc에서 'ACC'가 포함되지 않을 경우 spec 값에서 sp..
-
MSSQL 재귀쿼리 (with) 사용SQL/MSSQL 2023. 7. 5. 00:14
ERP, MES 관련 회사를 다니면서 BOM관련 문제를 해결했던 쿼리를 정리하고자 올린다. 네이버 지식백과 관련 정의 BOM(Bill of material)이란 모든 품목에 대해 상위 품목과 부품의 관계와 사용량, 단위 등을 표시한 list, 도표, 또는 그림을 말한다. 쉽게 말해서 제조업 회사에서 제품을 완성하기까지 필요한 반제품, 원재료 등을 순차적으로 정의해서 각각의 공정, 재료들의 원가 등을 한눈에 쉽게 보기위해서 만든거라고 한다. 내가 받은 업무중에는 최종제품을 0레벨로 하고 제품을 이루는 부품들을 1~3레벨까지 풀어서 한눈에 보기 좋게 데이터를 뿌려주는 쿼리를 만드것이었다. 예) 최종제품 : 컴퓨터 본체(0레벨) / 렘, CPU 등을 1레벨 / 렘, CPU 등을 만들기 위한 재료들 2레벨 / ..