sql group by 질문입니다.
본문
select
purchase.order_no,
case
when count(request.order_no) = 1
then max(prod_name)
else max(prod_name) || ' 외 ' || count(request.order_no) -1 || ' 건'
end as title
from purchase
join pay on purchase.order_no = pqy.order_no
left outer join request on purchase.order_no = request.order_no
left outer join prod on request.prod_no = prod.prod_no
group by request.order_no, prod.prod_name
제가 한 결과는 이렇게 나오네요
1001 |
1001 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
이것 때문에 집에 못가고 있습니다.
도움 부탁드립니다.
1001
1002
1003
!-->
답변 3
select a.order_no, concat(concat(concat(prod_name," 외"),count(prod_name))," 건") cnt
from purchase a, request c, prod d
where a.order_no = c.order_no
and c.prod_no = d.prod_no
group by order_no
;
중간에 pay는 혼란을 초래하는 구조라서,
추출내용상 pay의 정보가 필요없어서 주석처리했습니다.
!-->
원하시는게 조건이 뭔지 모호하네요
잘못 기록한 SQL으로는
원하시는게 뭘까요?
단순히
select distinct order_no는 아닌거 같은데
원하시는걸 글로 적어보시는게 어떨까요?
답변을 작성하시기 전에 로그인 해주세요.