sql °£´ÜÇÑ Áú¹®...

   Á¶È¸ 3811   Ãßõ 0    

체크박스가 복수개 있는데.. 이중 value가 같으면서 "체크된 체크박스의 개수"를 필드에 저장하려 합니다.

value는 4가지가 존재하고 이를 각각 a b c d라 부를때 "value가 a이면서 체크가 된 체크박스의 개수"를 "필드A"에 숫자로 저장하려 합니다.

무식한 머리로 몇시간째 구글링하고 삽질중인데 힘드네요.. 도와주시면 감사하겠습니다.

Think!
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
PiPPuuP 2016-04
üũ¹Ú½º¸¦ ¾îµð¼­ È®ÀÎÇÒÁö °í·ÁÇغ¸¸é ½¬¿öÁý´Ï´Ù.
javascript·Î client side¿¡¼­ üũ¹Ú½ºµéÀ» ¼øȸ üũÇÑ ´ÙÀ½, °³¼öµÈ µ¥ÀÌÅ͸¦ ¼­¹ö¿¡ ³Ñ±â´Â°ÅÁÒ.
submit °É¸®±â Àü¿¡ üũ¹Ú½ºµéÀ» È®ÀÎÇؼ­, hide field¶óµç°¡ ÀÌ·±°Å »ç¿ëÇؼ­ get parameter·Î ³Ñ±â´Â°ÅÁÒ.

c_count_a=3&c_count_b=0&c_count_c=2

ÀÌ·±½ÄÀ¸·Î ³Ñ±â´Â °Íµµ ÁÁ°í,
¾Æ´Ï¸é object·Î ÆÐŰ¡ ÈÄ¿¡ base64·Î ÀÎÄÚµù Çؼ­ º¸³½´ÙÀ½ server-side¿¡¼­ ´Ù½Ã object·Î passing Çؼ­ ³Ö¾î¹ö¸®´Â °Íµµ ÁÁ°í¿ä.

[{
    "type" = "a",
    "count" = 13,
    // some of properties
}, {
    "type" = "b",
    "count" = 2,
    // some of properties
},
  // some of elements....
]

ÀÌ·±½ÄÀ¸·Î Object·Î ÆÐŰ¡ Çؼ­ base64·Î ÀÎÄÚµù -> submit
server-side¿¡¼­ ´Ù½Ã object·Î µðÄÚµù, ±×´ÙÀ½ ÀûÀýÈ÷ recordsetÀ¸·Î º¯È¯Çؼ­ db¿¡ pushÇϴ°ÅÁÒ.

¸¸¾à POST·Î ó¸®ÇϽŴٸé POST Stream¿¡ base64ÀÎÄÚµù ÇÒ°Å ¾øÀÌ Á÷Á¢ ³Ö¾î¹ö¸®´Â ¹æ¹ýµµ °¡´ÉÇÒ°Ì´Ï´Ù.
ÀÌ °æ¿ì´Â server-side¿¡¼­ postµ¥ÀÌÅ͸¦ Á÷Á¢ ¹Þ¾Æ¼­ passingÇؾ߰ÚÁÒ.
submit ÇϱâÀü¿¡ ¾Æ·¡Ã³·³ ÀÚ¹Ù½ºÅ©¸³Æ®·Î checkbox ã¾Æ üũµÇ¾îÀÖ´ÂÁö ã¾Æ¼­ ÇʵåA¿¡ °ªÀ» ³ÖÀ¸¸é µË´Ï´Ù.

document.all.ÇʵåA.value = 0;
for (i=0 ; i < document.all.length ; i++) {
 if (document.all[i].type=="checkbox" && document.all[i].value=="a") {
  if (document.all[i].checked==true) document.all.ÇʵåA.value = parseInt(document.all.ÇʵåA.value) + 1;
}
CREATE TABLE [dbo].[test_01](
[c1] [char](1) NULL,
[c2] [bit] NULL,
[c3] [bit] NULL,
[c4] [bit] NULL,
[c5] [bit] NULL
) ON [PRIMARY]

INSERT INTO [dbo].[test_01] ([c1],[c2],[c3],[c4],[c5]) VALUES  ('a',1,1,1,1)
INSERT INTO [dbo].[test_01] ([c1],[c2],[c3],[c4],[c5]) VALUES  ('b',0,1,1,0)
INSERT INTO [dbo].[test_01] ([c1],[c2],[c3],[c4],[c5]) VALUES  ('c',1,0,1,1)
INSERT INTO [dbo].[test_01] ([c1],[c2],[c3],[c4],[c5]) VALUES  ('d',1,1,1,0)
INSERT INTO [dbo].[test_01] ([c1],[c2],[c3],[c4],[c5]) VALUES  ('a',1,0,1,0)

select    *,
          case when  c1 =  'a'  THEN    CONVERT(INT,C2) + CONVERT(INT,C3) + CONVERT(INT,C4) + CONVERT(INT,C5) ELSE  0  END  A1
  FROM  [test_01]


QnA
Á¦¸ñPage 2351/5663
2014-05   4894990   Á¤ÀºÁØ1
2015-12   1433828   ¹é¸Þ°¡
2016-05   4436   PhiloPark
2016-05   4302   ¹éµÎ»ê
2016-05   4045   ±è°Ç¿ì
2016-05   4642   AKMU
2016-05   8699   AplPEC
2016-05   5804   ¹Ì³ª¸®³ª¹°
2016-05   4949   ÇູÇϼ¼
2016-05   4491   Christopher
2016-05   7490   ¸¶ÀÌ·¯ºê
2016-05   5008   ´©±¸¾ß
2016-05   4937   epowergate
2016-05   5928   ȸ¿øK
2016-05   5387   ½ÅÀº¿Ö
2016-05   4899   ¿þµù¸¶Â÷
2016-05   5911   ±è°Ç¿ì
2016-05   4438   ¹«¾Æ
2016-05   5434   ±èµµÇü
2016-05   4548   ½ÅÀº¿Ö
2016-05   4322   Å×·¯¸®½ºÆ®
2016-05   6540   ÆíÇѼ¼»ó