sql์—์„œ decodeํ•จ์ˆ˜๊ฐ€ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค. ํ˜น์‹œ ์ด ๋ฌธ์ œ๋ฅผ ์•„์‹œ๋Š” ๋ถ„ ๊ณ„์‹ ๊ฐ€์š”?

563 views
Skip to first unread message

Guru Master ๆ…งๆœˆ

unread,
Jul 11, 2013, 2:34:51โ€ฏAM7/11/13
to ks...@googlegroups.com
์•ˆ๋…•ํ•˜์„ธ์š”. ๋งค์ผ ์ข‹์€ ์ •๋ณด๋ฅผ ์–ป์–ด๊ฐ€๋‹ค๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๊ธ€์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.ย 

์ œ๊ฐ€ ๋งก์€ ์‚ฌ์ดํŠธ์—์„œ ํŠน์ • ํŽ˜์ด์ง€๊ฐ€ ๊ฐ‘์ž๊ธฐ ํ†ต์ฑ„๋กœ 500์—๋Ÿฌ๋ฅผ ํ† ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ์›์ธ์œผ๋กœ ์•„๋ž˜ ๋ฉ”์„ธ์ง€๋ฅผ ์ง€๋ชฉํ–ˆ์Šต๋‹ˆ๋‹ค.
--- Cause: com.tmax.tibero.jdbc.TbSQLException: ย subquery expected to return a scalar value but returned multiple rows ย ย 

์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”์ ํ•ด ๋“ค์–ด๊ฐ€๋‹ˆย 

decode()ํ•จ์ˆ˜ ๋ถ€๋ถ„์—์„œ ์œ„์˜ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€๋ฅผ ํ† ํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ, ๋ฌธ์ œ๋Š” ์ด๊ฒŒ ์›๋ž˜ ์ž˜ ๋Œ์•„๊ฐ€๋˜ ์ฟผ๋ฆฌ์˜€๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.ย 

7์›”์ดํ›„๋กœ ์ด๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ, ์ œ๊ฐ€ ๋‹ค๋ฅธ ์—…๋ฌด๋กœ ์ •์‹ ๋ชป์“ฐ๋Š” ์‚ฌ์ด ๋ป—์–ด๋ฒ„๋ฆฐ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

์ข€ ๋” ์ƒ์„ธ ๋ถ€์—ฐํ•˜์ž๋ฉด,(ํ•ด๋‹น ์ฟผ๋ฆฌ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด ๋ฌธ์ œ์žˆ๋Š” ๋ถ€๋ถ„๋งŒ ์š”์•ฝ ์ถ”์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.์ˆ˜์‹๊ด€๋ จ ๋ถ€๋ถ„์ด๋ผ ์ฟผ๋ฆฌํ•œ์ค„์ด ๋ช‡ ํŽ˜์ด์ง€๋ฅผ ๋„˜์–ด๊ฐ€์„œ;;;)
์•„๋ž˜ ์ฟผ๋ฆฌ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

select decode((select member_gubun from table_member where member_id = a.member_id),'GUBUN01', ย a.money, 0 ) alias_money from table_donate a;

์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์„œ ์–ด๋–ค ๊ธฐ๊ธˆ์— ๋ฉค๋ฒ„๋“ค์ด ์ฃผ๊ธฐ์  ํ˜น์€ ์ผ์‹œ์ ์œผ๋กœ ์ž…๊ธˆ์„ ํ•œ ์ž๋ฃŒ์—์„œ ๋ฉค๋ฒ„์ข…๋ฅ˜๋ณ„๋กœ ํ•ฉ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค.
์›๋ž˜๋Š” decodeํ•จ์ˆ˜ ๋ฐ”๊นฅ์— sum()ํ•จ์ˆ˜๋กœ ๊ฐ์‹ธ๋‘์–ด decode()ํ•จ์ˆ˜๋กœ ๋ฆฌํ„ด๋œ ํ…Œ์ด๋ธ”์˜ ํ•ฉ์„ ๊ตฌํ–ˆ๋˜ ๊ตฌ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ decodeํ•จ์ˆ˜๊ฐ€ ์‹ค์ œ๋กœ ํ…Œ์ด๋ธ”์„ ๋ฆฌํ„ดํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์•Œ๊ณ  ์žˆ๊ณ , ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ sumํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ํ…๋ฐ ๋„๋ฌด์ง€ ๋‹ต์ด ์•ˆ๋ณด์ž…๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด
1. ์›๋ž˜ ๋˜๋˜ ๊ตฌ๋ฌธ์ด ์•ˆ๋œ๋‹ค.
2. ๊ฐ™์€ decodeํ•จ์ˆ˜๋ฅผ ์ „์ฒด ๊ตฌ๋ฌธ ๋‚ด์—์„œ 20์—ฌ๊ฐœ๊ฐ€ ๋“ค์–ด์žˆ๋Š”๋ฐ ์œ„์˜ 10์—ฌ๊ฐœ๋Š” ์ž˜ ๋™์ž‘ํ•˜๋Š”๋ฐ ์ด๊ตฌ๋ฌธ์—์„œ ๋ป—๋Š”๋‹ค.
3. ์‹œ์Šคํ…œ์€ tibero3์ž…๋‹ˆ๋‹ค.ย 

ํ˜น์‹œ ์•„์‹œ๋Š” ๋ถ„ ์žˆ์œผ์‹œ๋ฉด ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ใ…œใ… 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ตœ์˜๋ชฉ

unread,
Jul 11, 2013, 2:55:02โ€ฏAM7/11/13
to ks...@googlegroups.com
์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์ž๋ฉด decode๋‚ด์˜ ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ์—ฌ๋Ÿฌ ํ–‰์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๊ณ  ํ•˜๋„ค์š”.
์ฟผ๋ฆฌ ๋ฌธ์ œ๋ผ๊ธฐ ๋ณด๋‹ค๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ดํŽด๋ณด์…”์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค^^

Thank you, Steve (1955-2011)
๋‚˜์˜ iPhone์—์„œ ๋ณด๋ƒ„

2013. 7. 11. ์˜คํ›„ 3:34 Guru Master ๆ…งๆœˆ <leo...@gmail.com> ์ž‘์„ฑ:

--
Google ๊ทธ๋ฃน์Šค 'Korea Spring User Group' ๊ทธ๋ฃน์— ๊ฐ€์ž…ํ–ˆ์œผ๋ฏ€๋กœ ๋ณธ ๋ฉ”์ผ์ด ์ „์†ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์ด ๊ทธ๋ฃน์—์„œ ํƒˆํ‡ดํ•˜๊ณ  ๋” ์ด์ƒ ์ด๋ฉ”์ผ์„ ๋ฐ›์ง€ ์•Š์œผ๋ ค๋ฉด ksug+uns...@googlegroups.com์— ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์„ธ์š”.
http://groups.google.com/group/ksug์—์„œ ๊ทธ๋ฃน์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.
๋” ๋งŽ์€ ์˜ต์…˜์„ ๋ณด๋ ค๋ฉด https://groups.google.com/groups/opt_out์„(๋ฅผ) ๋ฐฉ๋ฌธํ•˜์„ธ์š”.
ย 
ย 

Guru Master ๆ…งๆœˆ

unread,
Jul 11, 2013, 3:55:21โ€ฏAM7/11/13
to ks...@googlegroups.com
๋„ต, ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.ย 
๋ฌธ์ œ๊ฐ€ ์ž˜ ํ•ด๊ฒฐ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.ย 

์ €๋„ ํ˜น์‹œ๋‚˜ ํ•ด์„œ ๋ฐ์ดํ„ฐ ์‚ดํŽด๋ณด๊ณ ๋Š” ์žˆ์—ˆ๋Š”๋ฐ, ์ตœ์˜๋ชฉ๋‹˜ ๋‹ต๋ณ€์„ ๋ณด๊ณ  ์ œ๊ฐ€ ์ฐฉ๊ฐํ•œ ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.
์ €๊ฐ™์€ ์ดˆ๋ณด๊ฐ€ ํ—ค๋ฉ”์ง€ ์•Š๊ฒŒ ํ•ด๊ฒฐ ์ƒํ™ฉ ์„ค๋ช…ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

subquery expected to return a scalar value but returned multiple rows ย ย 
์ด ์—๋Ÿฌ๋ฉ”์„ธ์ง€์˜ multiple rows๋ผ๋Š” ๋Œ€๋ชฉ์„ ์ €๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฒฐ๊ณผ๊ฐ’์ด multiple rows์—ฌ์„œ ์˜ค๋ฅ˜์ธ ๊ฒƒ์œผ๋กœ ์˜คํ•ดํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ, ์ œ๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ์ฟผ๋ฆฌ์—์„œ member_id = a.member_id ํ•ญ๋ชฉ์ด ์žˆ๋Š”๋ฐ, ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” aํ…Œ์ด๋ธ”์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์ฐธ์กฐํ•˜๊ณ ์ž ํ•˜๋Š” ํ…Œ์ด๋ธ”(table_member)์˜ member_id๋กœ ๋น„๊ต ํ•˜๊ณ ์ž ํ•˜์ž๋ฉด, 1:N๋น„๊ต๊ฐ€ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, table_member์— ์žˆ๋Š” member_id๊ฐ€ PK์ธ๋ฐ๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ตœ๊ทผ ๋ช‡๋‹ฌ๊ฐ„ ๋ช‡๋ช‡ ์ผ€์ด์Šค์—์„œ ์ค‘๋ณต์ด ๋˜๊ณ  ์žˆ์–ด์„œ ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€๋ฅผ ๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด, ์„œ๋ธŒ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ์ค‘์— ๋‹จ์ผ๊ฐ’์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋ถ€๋ถ„์ด ์ค‘๋ณต๊ฐ’์„ ๊ฐ€์ง€๊ณ (๋ณด์—ฌ์ฃผ๊ณ , ๋ฐ˜ํ™˜ํ•˜๊ณ ) ์žˆ๋‹ค๋ผ๋Š” ๋ฉ”์„ธ์ง€๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•  ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.
์˜์–ด๊ฐ€ ์งง์€ ๊ฑฐ๊ฒ ์ฃ .ใ…œใ… 

๋•๋ถ„์— ํ•œ์ฐธ ํ—ค๋งฌ๋ป” ํ–ˆ๋˜ ๊ฒƒ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.ย 

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

2013๋…„ 7์›” 11์ผ ๋ชฉ์š”์ผ ์˜คํ›„ 3์‹œ 55๋ถ„ 2์ดˆ UTC+9, ์ตœ์˜๋ชฉ ๋‹˜์˜ ๋ง:
Reply all
Reply to author
Forward
0 new messages