社区
疑难问题
帖子详情
常用SQL语句的使用问题
VertyNew
2007-03-09 10:50:43
各位SQL高手、大师们:
小弟有一SQL语法不会使用,向大家请教!万分感谢。
正常语法
Select 字段1,字段2,字段3 From 表 Where 字段1=值
现在要改写成
Select A=字段1,B=字段2,C=字段3 From 表 Where A=值
也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写??
用在Update、Delete中能否实现??
语法在MySQL、Oracle中是否可通用??
...全文
278
5
打赏
收藏
常用SQL语句的使用问题
各位SQL高手、大师们: 小弟有一SQL语法不会使用,向大家请教!万分感谢。 正常语法 Select 字段1,字段2,字段3 From 表 Where 字段1=值 现在要改写成 Select A=字段1,B=字段2,C=字段3 From 表 Where A=值 也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写?? 用在Update、Delete中能否实现?? 语法在MySQL、Oracle中是否可通用??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dali88888
2007-03-11
打赏
举报
回复
Select A=字段1,B=字段2,C=字段3 From 表 Where A=值
这个用动态实现SQL,学习ing
edsoft
2007-03-11
打赏
举报
回复
关注
冷箫轻笛
2007-03-09
打赏
举报
回复
可以用视图实现
create table tab111
(
id int
)
insert into tab111 select 1
insert into tab111 select 2
insert into tab111 select 3
create view v_tab111
as
select id as xuehao from tab111
update v_tab111 set xuehao = 4 where xuehao >= 3
select * from tab111
--结果
1
2
4
delete from v_tab111 where xuehao > 3
select * from tab111
--结果
1
2
OracleRoob
2007-03-09
打赏
举报
回复
也就是用我定义的字段名代替原数据表字段名,在条件、分组、排序中可以直接引用我定义的字段名,能不能实现,应该怎么写??
---------------------------------------
用动态SQL。
用在Update、Delete中能否实现??
---------------------------------------
用动态SQL。
语法在MySQL、Oracle中是否可通用??
-------------------------------------------
不通用。
SQL Server使用的是T-SQL,而Oracle使用的是PL/SQL。
动态sql语句基本语法
1 :普通SQL语句可以用Exec执行
eg: Select * from tableName
Exec('select * from tableName')
Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
eg:
declare @fname varchar(20)
set @fname = 'FiledName'
Select @fname from tableName -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
Exec('select ' + @fname + ' from tableName') -- 请注意 加号前后的 单引号的边上加空格
当然将字符串改成变量的形式也可
declare @fname varchar(20)
set @fname = 'FiledName' --设置字段名
declare @s varchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句会报错
declare @s Nvarchar(1000) -- 注意此处改为nvarchar(1000)
set @s = 'select ' + @fname + ' from tableName'
Exec(@s) -- 成功
exec sp_executesql @s -- 此句正确
3. 输出参数
declare @num int,
@sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls)
--如何将exec执行结果放入变量中?
declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
baoshan
2007-03-09
打赏
举报
回复
不能实现,在update 和delete中也不行
select A,B,C from (Select A=字段1,B=字段2,C=字段3 From 表) a Where A=值
用java代码实现简单的概率随机抽奖算法,看完相信你也会
工作需要,这两天写一个简单的java抽奖算法,因为逻辑简单不复杂,所以代码也很简洁,可以做到不同权重有不用的中奖概率(就类似于nginx集群一样,权重越大,概率越高),在这里将java概率随机抽奖代码抽离出来分享给大家。 具体需求: 给第三方推送数据,每个第三方根据预算会有不同的额度,考虑到服务器压力,所以采取了主动推送的方式,在每次推送的时候,需要根据第三方的配额计算出相应的概率,然后挑选一个第...
抽奖概率算法_java简单的抽奖算法,抽奖Demo
最近公司为促销会员充值,搞了一个充值抽奖活动。开发活动对抽奖的算法有些拙见,希望对大家有些帮助。也希望有更好算法的大神不吝赐教。1、理论:将100按最小单位分块,然后根据概率对小块进行分区。最后生成随机数,根据随机数的数值判断所在区域。例:奖品1:5%,奖品2:10%;奖品3:15%。则最小单位为1,将100分为100份;奖品1分区为0-5,奖品2分区为6-15,奖品3分区为16-30。然后我们生...
JAVA
使用
Random 实现概率 可控 抽奖算法
总体得思路,是利用random 随机数。看随机出得数字所在得区间,再结合想要实现得概率。 比如,要实现3个奖品: 奖品1 概率20% 奖品2 概率30% 奖品3 概率50% 如果随机出得数字是 8 ,那么他就落再奖品1得区间内;可以指定为中奖奖品为 奖品1;随机出得数字是 78 ,那么就落在奖品3得区间内,可指定中将奖品为奖品3。参与抽奖得次数越多,那么最终得奖品中奖分配比例越是均匀(比如只有一个人中将,就中到了奖品1,你不能说,奖品1得概率是10...
java大转盘抽奖概率算法_幸运大转盘抽奖 抽奖算法 程序实现逻辑
近期碰到的一个需求,实现一个类似大转盘抽奖的功能,需自定义奖项,各奖项中奖概率,当日抽奖最大次数,抽奖成本等。分享一个简单的java代码的实现的思路,有不足之处感谢各位指正。初步方法首先要定义几个奖品,例如:iphone 中奖机率 10%100元购物卷 中奖机率 30%10元购物卷 中奖机率 50%总的中奖机率是 10%+30%+50%=90%剩余10%是谢谢惠顾,不中奖的设计思路这个是把所有商品...
java中奖率算法_抽奖概率-三种算法
一、逢“几”中奖逢“几”中奖,即通过预估抽奖人数和奖品数来判断,“几”=(抽奖人数/奖品数)*N。这是一种最简单抽奖算法,适合抽奖人数众多,而且互相无联系的情况。如今大为流行的微博转发得奖就常常
使用
这种算法,即根据转发次数来决定奖品归属,透明而且具有激励性。当然这个“几”也不单只次数,还可能是时间,逢某个时间点就可以抽中,不过这种方案可能产生无人中奖和很多人中奖的情况,时间点的安排很关键!这个时间...
疑难问题
22,298
社区成员
121,727
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章