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

   Á¶È¸ 3684   Ãßõ 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 2320/5594
2014-05   4495289   Á¤ÀºÁØ1
2015-12   1047578   ¹é¸Þ°¡
2016-04   4601   petabyte
2016-04   4521   Psychophysi¡¦
2016-04   3855   Çϼ¿È£ÇÁ
2016-04   8866   ¾îµðÂë
2016-04   3401   ±ô¹Ú±ô¹Ú°¡
2016-04   4590   ±è½ÂÇö1
2016-04   6217   izegtob
2016-04   4124   ¿ÀÁØÈ£5
2016-04   4873   witbox
2016-04   4276   Å·½º¸Ç
2016-04   7407   À©98
2016-04   3462   ±è°Ç¿ì
2016-04   4943   Å´µï
2016-04   3244   sensekuh
2016-04   4065   ±èÈ¿¼ö
2016-04   6464   ¿À¿ø
2016-04   7448   petabyte
2016-04   9328   ¸ð¾Æ·¹±èÈ£¿­
2016-04   3747   »ê°ñ¸¶À»³ëÀÎ
2016-04   3707   ¹Ö±¸¸£