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

   Á¶È¸ 3919   Ãßõ 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 1738/5691
2015-12   1552129   ¹é¸Þ°¡
2014-05   5016666   Á¤ÀºÁØ1
2018-10   3919   AIÀÔ´Ï´Ù
2017-12   3919   ½º¸¶Æ®¸Ç
2016-07   3919   NGC
2018-03   3919   ¹öÇÁ¿£Áö´Ï¡¦
2015-04   3919   BTclub
2016-07   3919   ȲÁø¿ì
2015-11   3920   ȸ¿øK
2016-09   3920   ÀÌÇØÇϸé¿À¡¦
2017-05   3920   ½ÂÈĴϵµÄì
2015-06   3920   Á¦¿Â5472
2015-08   3920   ¹Ú³²±Ô
2018-03   3920   ¿ò³Ä
2017-12   3920   ¾Æ¸®½Ã¸¶
2016-04   3920   ÀçÈ«ÀÌ
2014-03   3920   ȸ¿øK
2018-02   3920   À嵿°Ç2014
2016-07   3920   chinni00
2016-10   3920   ¿À¼º±â
2015-04   3920   ¹Ì´ã
2021-03   3920   ¼ÛÁøÈ«