首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

关于mysql语句的写法,大侠们帮忙!解决方法

2012-03-23 
关于mysql语句的写法,大侠们帮忙!运行环境是Linux 操作系统!一、if(site in (7,16,23,24,10,21,18,13,12,15

关于mysql语句的写法,大侠们帮忙!
运行环境是Linux 操作系统!
一、if(site in (7,16,23,24,10,21,18,13,12,15,11,14,19,8,9,22,17,20),'104',if(site in(57,54,39,42,41,44),'105',if(site in (48,49,46,50,51,52,53),'103',if(site in (33,35,43,34),'107',if(site in(35,31,30,45,29,32),'108',if(site in(27,28,56,26),'109',if(site=25,'110','111')))))))
这样的有没有更好的方法实现?

二、在MSSQL可以通过两张表里相同的字段值,来用一张表里的数据更新另外张表里的数据 比如:
update a set a.id=b.code from card as a, card2 as b where a.ip=b.ip 这样在MYsql里是执行不了的,应该怎么实现?

三、一张表里的字段里的值怎么加上数据 比如:
name 
合肥
六安
黄山
  要在每个后面加上个 市 变成
name
合肥市
六安市
黄山市 这个应该怎么写?

[解决办法]

引用一、if(site in (7,16,23,24,10,21,18,13,12,15,11,14,19,8,9,22,17,20),'104',if(site in(57,54,39,42,41,44),'105',if(site in (48,49,46,50,51,52,53),'103',if(site in (33,35,43,34),'107',if(site in(35,31,30,45,29,32),'108',if(site in(27,28,56,26),'109',if(site=25,'110','111')))))))
这样的有没有更好的方法实现?

[解决办法]
引用二、在MSSQL可以通过两张表里相同的字段值,来用一张表里的数据更新另外张表里的数据 比如:
update a set a.id=b.code from card as a, card2 as b where a.ip=b.ip 这样在MYsql里是执行不了的,应该怎么实现?

[解决办法]
引用
三、一张表里的字段里的值怎么加上数据 比如:
name
合肥
六安
黄山
要在每个后面加上个 市 变成
name
合肥市
六安市
黄山市 这个应该怎么写?

[解决办法]
一、if(site in (7,16,23,24,10,21,18,13,12,15,11,14,19,8,9,22,17,20),'104',if(site in(57,54,39,42,41,44),'105',if(site in (48,49,46,50,51,52,53),'103',if(site in (33,35,43,34),'107',if(site in(35,31,30,45,29,32),'108',if(site in(27,28,56,26),'109',if(site=25,'110','111')))))))
这样的有没有更好的方法实现?

select case when site in () then 104 when site in () then 105 ....end
[解决办法]
三、一张表里的字段里的值怎么加上数据 比如:
name
合肥
六安
黄山
要在每个后面加上个 市 变成
name
合肥市
六安市
黄山市 这个应该怎么写?



update tb
set col1=concat(col1,'市');

热点排行