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 인 것들은 정상적으로 나오 되 아닌 것들은 병합해서 한줄로 나오게하고싶습니다..
시도끝에 드는 생각은 불가능한거같은데 가능한건가요..??
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' ;