검색어를 어떤걸로 설정해야 하는지 감이 안와서 질문을 올립니다.
원하는건.. 정규화된 테이블이 아니라
report 형식처럼
열 마다 다른 값이 다른갯수로 나오는 csv 파일 형식입니다.
예를 들어
A열에는 /bin 아래의 파일 목록
B열에는 /sbin 아래의 파일 목록
C열에는 /usr/bin 아래의 파일 목록
이런식으로 하나의 테이블로 빼내고 싶은데
select (select filename from fs where path='/bin') as bin,
(select filename from fs where path='/sbin') as sbin
이런식의 슈도코드를 돌리면
ERROR: 오류: 표현식에 사용된 서브쿼리 결과가 하나 이상의 행을 리턴했습니다
이런식의 오류가 발생하는데 어떻게 해야 가능할까요?
조인 외에는 방법이 없는건가요?
딸 다섯 아들 하나 아빠 (큰 딸, 작은 딸, 왕큰 딸, 앵무새, 암 뭉뭉이, 수 뭉뭉이) - minimonk.net
Á¦°¡ postgresql ÀÌ ¾È±ò·Á ÀÖ¾î
¿À¶óŬ ±¸¹®À¸·Î ÀÛ¼ºÇÏ¸é ¾Æ·¡¿Í °°½À´Ï´Ù.
with fs as (
select 'a' fnm, 'bin' pt from dual
union all
select 'b' , 'sbin' from dual
union all
select 'c' , 'usr' from dual
union all
select 'd' , 'usr' from dual
)
select *
from (
select fnm, pt, row_number() over(partition by pt order by fnm) r
from fs
) lst
pivot(max(fnm) for pt in('bin','sbin','usr'))
order by r
±×³ªÀú³ª row_number() over()´Â ½áºÃÁö¸¸ partition by´Â ¶Ç óÀ½º¸³×¿ä
sql¹®À» Çö¾÷À¸·Î ´Ù·ç´Â°Ç óÀ½À̶ó ¾î¶² °³³äÀÌ Á¸ÀçÇÏ´ÂÁö »ý¼ÒÇߴµ¥ ¸¹Àº µµ¿ò µÇ¾ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù.
±× ¼ø¼°ªÀÌ ÇǺ¿ µÈ ÇàÀÇ °ªÀÌ µÇ°Ô Çϱâ À§ÇØ
ÇǺ¿Àº Áý°èÇÔ¼ö¿Í ¾²´Â °ÍÀ̶ó
ÀÌ·¸°Ô 1Çà¿¡ 1°³ÀÇ °ªÀ» ¸¸µé¾î ÁÖ¾î¾ß
Á¤»óÀûÀÎ °ªÀÌ ³ëÃ⠵˴ϴÙ.
ÀÏ´ÜÀº ±ÞÇؼ ¹Ù·Î ¿¢¼¿·Î ¼öÀÛ¾÷ º¹ºÙÀ» ÇÏ°í Àִµ¥
´ÙÀ½¿¡ ÀÚµ¿È Çؼ csv·Î export Çϵµ·Ï Â¥ºÁ¾ß°Ú½À´Ï´Ù.
pt : path
DB¸¶´Ù ¿¹¾à¾î°¡ ´Þ¶ó¼ Ä÷³¸íÀ» ¹Ù²å½À´Ï´Ù.