postgresql SQL ¹® ÀÛ¼º µµ¿ò ¿äûÇÕ´Ï´Ù.

   Á¶È¸ 4170   Ãßõ 0    

검색어를 어떤걸로 설정해야 하는지 감이 안와서 질문을 올립니다.


원하는건.. 정규화된 테이블이 아니라

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
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
pivotÀ» ÀÌ¿ëÇÏ¸é µË´Ï´Ù.
Á¦°¡ 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
     
±¸Â÷´Ï 2019-09
¿¢¼¿¿¡¼­´Â pivotÀ» Á¶±Ý ½áºÃ´Âµ¥(ÀÚ°ÝÁõ ¶§¹®¿¡) ÀØ°í ÀÖ¾ú´Âµ¥ Çѹø ã¾Æ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù
±×³ªÀú³ª row_number() over()´Â ½áºÃÁö¸¸ partition by´Â ¶Ç óÀ½º¸³×¿ä

sql¹®À» Çö¾÷À¸·Î ´Ù·ç´Â°Ç óÀ½À̶ó ¾î¶² °³³äÀÌ Á¸ÀçÇÏ´ÂÁö »ý¼ÒÇߴµ¥ ¸¹Àº µµ¿ò µÇ¾ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù.
          
pathº°·Î ¼ø¼­¸¦ ÁÖ±â À§ÇØ »ç¿ëÇÕ´Ï´Ù.
±× ¼ø¼­°ªÀÌ ÇǺ¿ µÈ ÇàÀÇ °ªÀÌ µÇ°Ô Çϱâ À§ÇØ

ÇǺ¿Àº Áý°èÇÔ¼ö¿Í ¾²´Â °ÍÀ̶ó
ÀÌ·¸°Ô 1Çà¿¡ 1°³ÀÇ °ªÀ» ¸¸µé¾î ÁÖ¾î¾ß
Á¤»óÀûÀÎ °ªÀÌ ³ëÃ⠵˴ϴÙ.
               
±¸Â÷´Ï 2019-09
¹Ù·Î Àû¿ëÇϱä Èûµé°Í °°¾Æ¼­ Â÷±ÙÂ÷±Ù Çѹø Çغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
ÀÏ´ÜÀº ±ÞÇؼ­ ¹Ù·Î ¿¢¼¿·Î ¼öÀÛ¾÷ º¹ºÙÀ» ÇÏ°í Àִµ¥
´ÙÀ½¿¡ ÀÚµ¿È­ Çؼ­ csv·Î export Çϵµ·Ï Â¥ºÁ¾ß°Ú½À´Ï´Ù.
fnm : filename
pt : path
DB¸¶´Ù ¿¹¾à¾î°¡ ´Þ¶ó¼­ Ä÷³¸íÀ» ¹Ù²å½À´Ï´Ù.
     
±¸Â÷´Ï 2019-09
postgresql ¿¡¼­ À¯»çÇÑ Å°¿öµå°¡ ÀÖ´ÂÁö È®ÀÎÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù ^^


QnA
Á¦¸ñPage 1193/5686
2014-05   4976601   Á¤ÀºÁØ1
2015-12   1512726   ¹é¸Þ°¡
2007-02   5013   ÀåÁø¼ö
2005-07   5436   ¹æÈ¿¹®
2002-11   11429   ¹®Á¤ÀÏ
2005-12   5869   ½ÅÀ¯È£
2007-03   4813   ±è»óÀÏ
2004-08   7370   ÀÌ¿µ½Ä
2005-01   7026   Çѽ¼ö
2007-10   7611   ÀÓöÇõ
2003-06   10640   ÀÌÁÖÈñ
2006-03   5531   Á¤¸íÇö
2007-02   5634   Á¤ÀºÁØ
2007-07   4599   ±è¼ºÁø
2003-01   12014   ¿ìµ¿ÈÆ
2008-10   4840   ±èÁ¾¼º
2005-11   5474   °­µ¿¿µ
2003-05   10177   ÃÖ¿¬½Â
2006-11   4862   À±È£¿ë
2004-03   8225   ±è¹Î¿µ
2004-05   8318   Á¤Àç¿õ
2007-02   5820   ÀÌÀ±