ÇóÒ»ÌõMySqlÓï¾ä
ÓÐÕâÑù3Õűí
ÈÎÎñ±í
ID Name
1 nm1
2 nm2
ÒÑÍê³ÉÈÎÎñ±í
ID SwdID
1 1
2 1
δÍê³ÉÈÎÎñ
ID SwdID
1 1
2 1
ÒÑÍê³ÉÈÎÎñ±íºÍδÍê³ÉÈÎÎñ±íµÄSwdID×ֶζÔÓ¦µÄÖµÊÇÈÎÎñ±íÖеÄID
ÈçºÎÓÃÒ»ÌõMYSQLÓï¾ä½«IDΪ1µÄÈÎÎñÃû³Æ¡¢ÈÎÎñ×ÜÊýºÍÒÑÍê³ÉÈÎÎñÊý»ñÈ¡³öÀ´?
ÈÎÎñ×ÜÊý=ÒÑÍê³ÉÈÎÎñÊý+δÍê³ÉÈÎÎñ?
select a.ID,a.Name,sum(b.id+c.id),sum(b.id)
from ÈÎÎñ±í a
left join ÒÑÍê³ÉÈÎÎñ±í b on a.id=b.SwdID
left join δÍê³ÉÈÎÎñ c on a.id=c.SwdID
group by
a.ID,a.Name
select a.ID,a.Name,sum(COALESCE(b.id,0)+COALESCE(c.id,0)),sum(COALESCE(b.id,0))
from ÈÎÎñ±í a
left join ÒÑÍê³ÉÈÎÎñ±í b on a.id=b.SwdID
left join δÍê³ÉÈÎÎñ c on a.id=c.SwdID
where a.id=1
group by
a.ID,a.Name
SQL code:
ÈÎÎñ±í£º
mysql> select * from task;
+------+------+
| id | name |
+------+------+
| 1 | nm1 |
| 2 | nm2 |
+------+------+
2 rows in set (0.00 sec)
δÍê³ÉÈÎÎñ±í£º
mysql> select * from wtask;
+------+------+
| id | tid |
+------+------+
| 1 | 1 |
| 2 | 1 |
+------+--
Ïà¹ØÎÊ´ð£º
×ö¸öÕ¾ÄÚËÑË÷£¬ÏÖÔÚÓÃlike ÕâÑùµÄЧÂÊʵÔÚÌ«µÍÁË£¬Ïë¸Ä³ÉÈ«ÎÄËÑË÷·½Ê½¡£
µ«¿´ÁËÍøÉÏ˵µÄÖÐÎÄÖ§³Ö²»ºÃ£¬ÏëÎÊһϸ÷λÐÖµÜÊÇÈçºÎ½â¾öÕâ¸öÎÊÌâµÄ£¿
µ¥¶À½¨Á¢Ö÷Ìâ±íºÍÄÚÈÝ±í ¼ìË÷Ö÷Ìâ
È»ºó¸ù¾ÝÖ÷Ìâ¼ìË÷Ä ......
ÓÃjsp×ö¶«Î÷¸øÍêÈ«²»¶®mysqlµÄÈËÓ㬿ÉÊDZ¸·ÝʱֻÓпÕÎļþ£¬ÕâÊÇʲôÇé¿ö£¬
×îºÃÓÐÔ´´úÂ룬лл
Æäʵ±¸·ÝµÄ¹ý³ÌÎÒÏë´ó¸ÅÊÇÕâÑùµÄ£º
½«±íAÖеÄÊý¾Ý·Åµ½ArrayListÖУ¬È»ºó½«Õâ¸öArrayListÖеÄÊý¾ÝÔÙ´æµ½±íBÖС£ ......
Ò»¸öÐÐÒµÍøÕ¾£¬ÒªÊµÏֵŦÄÜÒªÇóΪ£º
Ò»ËÑË÷±íµ¥¿ÉÑ¡ËÑË÷ ²úÆ·/×ÊѶ/É̼ң¬ËÑË÷ʱϣÍûÏÈËѱêÌâºóÈ«ÎÄ£¬µ±Ç°µÄÊý¾ÝÁ¿¹À¼Æ3Íò¶à£¬¶¨Î»ÆÚÍûÔÚ°ÙÍò¼¶Ò²¿ÉÓá£
Êý¾ÝÀàÐÍΪinnodb£¬µ±Ç°µÄ·½·¨ÊǶԹؼü´Ê½øÐÐ ......
MySQLÈëÃÅ
¿ÉÒÔÏÈ¿´Ê²Ã´Êé¼®°¡£¿
ÏȶÁÈý±é¡¶Êý¾Ý¿âϵͳ¸ÅÂÛ¡·,ÕÆÎÕÊý¾Ý¿âµÄ»ù´¡ÀíÂÛ¡£
È»ºóÔÙ´Ö¿´Ò»±éMYSQLµÄ¹Ù·½Îĵµ¡£ MySQL¹Ù·½Îĵµ http://dev.mysql.com/doc/refman/5.1/zh/index.html
¾ÍÕÒÒ»±¾ºÜ»ù´ ......
mysqlºÍmssqlÓÐÊ²Ã´Çø±ð£¿ËûÁ©ÊDz»ÊÇÒ»¸ö¶«Î÷£¿
²»ÊÇÒ»¸ö³§¼ÒµÄÊý¾Ý¿â²úÆ·¡¡
µÚ¶þ¸ö×Öĸ²»Ò»Ñù
ËûÃǶ¼ÊÇDBMS£¬Êý¾Ý¿â¹ÜÀíϵͳ£¬Ö»ÊÇÁ½¸ö²»Í¬¹«Ë¾£¨»ò×éÖ¯£©µÄ²úÆ·¡£
MSSQL¹ËÃû˼Òå¾ÍÊÇ΢Èí¹«Ë¾µÄ²úÆ·£¬È«³ ......