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

   Á¶È¸ 3875   Ãßõ 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 2829/5684
2014-05   4960621   Á¤ÀºÁØ1
2015-12   1497168   ¹é¸Þ°¡
2005-11   5331   À̸¸Àç
2009-02   6216   ½ÂÈĴϵµÄì
2019-01   3811   »þ¸ªÇÕ´Ï´Ù
2003-04   8857   ±èº´Ã¶
2015-09   3298   ÁÒ½´¾Æ
2017-10   4610   ÄĹÚ
2012-06   8427   º´¸ÀÆù
2014-05   3799   ±èÇö¸°
2015-09   3959   topschool
2023-02   1155   ¸Óµé°³¿©¸®
2017-10   3603   ¿­¾¾¹Ì
2003-04   11444   Á¶¸íÁø
2009-04   6211   ¶°µ¹ÀÌ´Á´ë
2021-07   2334   À̽ÂÀÍ
2023-02   2069   L2½ºÀ§Ä¡
2003-04   10047   À̽ÂÁÖ
2014-05   6209   ¹Ú¿Ï°æ
2015-09   4311   thslr74
2015-09   3584   ¹Ì¼ö¸Ç
2020-03   3869   ¹é¸¸½º¹°Çϳª