select a.storeCode, (case when len(a.storeType)>0 then c.clientName+'['+storeType+']' else c.clientName end) as clientName, a.materialCode,b.materialName, b.dimension, (select x.unitName from units x where x.unitCode=b.unitCode) uName from orders a, material b, client c where a.dealercode='1734' and a.stockinDay='20230726' and a.dealercode=b.dealerCode and a.materialCode=b.materialCode and a.dealercode=c.dealercode and a.storeCode=c.clientCode and a.storeCode!='9999'
| storeCode | clientName | materialCode | materialName | dimension | uName |
| 2002 | 강남아이꿈터어린이집 | 1000087 | 바나나(8다발) | 8다발 | Box |
| 2002 | 강남아이꿈터어린이집 | 1000088 | 바나나(1.6kg내외) | 1송이=10개내외/1.6kg내외 | 송이 |
| 2002 | 강남아이꿈터어린이집 | 1000096 | 바나나(2.1kg내외) | 1송이=15개내외/1BOX=6송이 | 송이 |
| 2002 | 강남아이꿈터어린이집 | 1000316 | 신동진쌀(20kg/22년산/등급:상/함평군농협) | 20kg | ea |
| 2002 | 강남아이꿈터어린이집 | 1011165 | (간편식)감자깡(농심,상온) | 75g*16개입/box | Box |
| 2002 | 강남아이꿈터어린이집 | 1013961 | (간편식)감자핫도그(엠디에스,냉동) | 130g*5ea/PK | PK |
| 2003 | 교유치원 | 1013241 | 조미전장김 | 60g(5g*12매)/ea | ea |
| 2003 | 교유치원 | 1013298 | 통통순살오징어튀김 | 1kg/PK | PK |
결과값은 이렇게나오는데
품목코드가 1000087 1000088 1000096 1000316 인 것들은 정상적으로 나오 되 아닌 것들은 병합해서 한줄로 나오게하고싶습니다..
시도끝에 드는 생각은 불가능한거같은데 가능한건가요..??
1. 개별과 병합을 나누는 기준이 뭘까요?
2. 원하는 결과표도 보여주세요.
병합된 결과표, 원하는 결과표 그려주세요.
품목코드가 1000087 1000088 1000096 1000316 인것들은 개별로나오고 그외에는 다 하나로 병합입니다
| storeCode | clientName | materialCode | materialName | dimension | uName |
| 2002 | 강남아이꿈터어린이집 | 1000087 | 바나나(8다발) | 8다발 | Box |
| 2002 | 강남아이꿈터어린이집 | 1000088 | 바나나(1.6kg내외) | 1송이=10개내외/1.6kg내외 | 송이 |
| 2002 | 강남아이꿈터어린이집 | 1000096 | 바나나(2.1kg내외) | 1송이=15개내외/1BOX=6송이 | 송이 |
| 2002 | 강남아이꿈터어린이집 | 1000316 | 신동진쌀(20kg/22년산/등급:상/함평군농협) | 20kg | ea |
| 2002 | 강남아이꿈터어린이집 | ||||
| 2003 | 교유치원 |
입니다 병합은 매출처명을 제외한 곳은 빈값으로 나와도 상관없습니다
SELECT DISTINCT
a.storeCode
, c.clientName + CASE WHEN LEN(a.storeType) > 0 THEN '[' + a.storeType + ']' ELSE '' END clientName
, CASE WHEN a.materialCode IN (1000087, 1000088, 1000096, 1000316) THEN a.materialCode END materialCode
, CASE WHEN a.materialCode IN (1000087, 1000088, 1000096, 1000316) THEN b.materialName END materialName
, CASE WHEN a.materialCode IN (1000087, 1000088, 1000096, 1000316) THEN b.dimension END dimension
, CASE WHEN a.materialCode IN (1000087, 1000088, 1000096, 1000316) THEN x.unitName END uName
FROM orders a
, material b
, client c
, units x
WHERE a.dealercode = b.dealerCode
AND a.materialCode = b.materialCode
AND a.dealercode = c.dealercode
AND a.storeCode = c.clientCode
AND b.unitCode = x.unitCode
AND a.dealercode = '1734'
AND a.stockinDay = '20230726'
AND a.storeCode != '9999'
;
감사합니다 마농님!!