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

   Á¶È¸ 3836   Ãßõ 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 2004/5672
2015-12   1464264   ¹é¸Þ°¡
2014-05   4926768   Á¤ÀºÁØ1
2019-07   3428   ÆÄ´ÚÆÄ´Ú
2022-03   2945   ½É¿ìö
2013-09   8544   Çà¾Æ¹ü
2016-03   36653   Â÷Æò¼®
2018-05   3535   Çϼ¿È£ÇÁ
2022-03   1429   JJ½Ã½ºÅÛ
2010-11   7525   º°Çش¾ÆÇØ
2018-05   4894   À¯·ÉEÁ¤ÇØÁØ
2020-10   2392   Marco21
2017-03   4824   ¾Æ³¯·Î±×
2022-04   1291   ¹ÚÁ¾´ë
2010-12   7915   ºí·ç¸ð¼Ç
2017-03   4970   Realwook
2020-10   4719   ¿µ»êȸ»ó
2015-01   4516   ¸ø»ý±ä¾Ö
2018-06   3445   osthek83
2016-04   3837   ÀÌ°ÇÈñ
2013-10   16423   ÀÌÃæ¿íblue
2013-10   6531   ±ÝÄáÄ¿ÇÇ
2011-02   9260   ½ºÄ«ÀÌ