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

   Á¶È¸ 4142   Ãßõ 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 1973/5684
2014-05   4957414   Á¤ÀºÁØ1
2015-12   1493866   ¹é¸Þ°¡
2017-07   4118   ´ÃÆĶõ
2013-12   4118   ÀÓÁ¾±Õ
2016-03   4118   2CPUÃÖÁÖÈñ
2019-11   4118   ´ÙÅ¥
2014-07   4118   ±èȲÁß
2016-06   4118   ±è°Ç¿ì
2017-01   4118   ³Ä¾Æ¾Æ¾Æ¾Ï
2016-04   4118   ÀÓÁø¿í
2016-10   4118   À¯Á¤È£»þÄÜ´À
2018-09   4118   À¸¶óÂ÷Â÷Â÷
2020-01   4118   ¾ÓÅ©
2017-04   4119   ¿Ã»©¹ÌÀá¿Í
2016-10   4119   Á¾À̵ª
2017-07   4119   e5472
2016-03   4119   ³ª¿ì¸¶Å©
2021-08   4119   ÆÄ·»ÇÏÀÕ
2016-09   4119   ±èÁØÀ¯
2015-12   4119   TLaJ3KtYGr
2018-07   4119   ·¹ÀιÎÆ®
2016-08   4119   ¿¹°ü½Å±Ô½Ä