如何用sql乘法求乘积?

如何用sql乘法求乘积?,第1张

根据题意,你应该想让1表中的A列和2表中的B列的对应行相乘,相乘不是问题,所以你的问题主要是在“对应行”上,如果你的两张表都有表示行号的字段,那就很好解决:

select

a.A*b.B

as

乘积

from

table1

as

a,table2

as

b

where

a.ID=b.ID;

如果没有行号,就必须使用函数或者子查询来解决行号的问题,但是你没有告诉我你用的是哪种数据库,SQL

SERVER

2005以上有ROW_NUMBER()函数可以解决,ORACLE有ROWNUM字段可以解决,不同的数据库解决行号的办法不同。这样吧,我给你个比较通用的子查询方法,不用这些特殊的函数:

select

a.A*b.B

as

乘积

from

(select

identity(int,1,1)

as

rownum,*

from

table1)

as

a,

(select

identity(int,1,1)

as

rownum,*

from

table2)

as

b

where

a.rownum=b.rownum

额~~~

晚上看了下我的回答,有点草率了,identity(int,1,1)估计不能这么用(现在过年,没

数据环境测试),下面这个代码保险点:

alter

table

table1

add

column

ididentity(int,1,1)

alter

table

table2

add

column

id

identity(int,1,1)

select

a.A*b.B

as

乘积

from

table1

as

a,table2

as

b

where

a.id=b.id;

select a*b as乘积from tablename

SELECT distinct a.购房人,a.房间号,(a.总房价 -

(SELECT SUM( b.已收款额 )

FROM table1 a, table2 b

WHERE a.房间号 = b.房间号

))

FROM table1 a,table2 b where

SQL具有数据定义、数据 *** 纵和数据控制的功能。

1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。

2、SQL数据 *** 纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。

create proc p_multiply(@a int=0,@b int=0,@c int output)

as

begin

set @c=@a*@b

end

--调用

--declare @a int,@b int,@c int

--select @a=3,@b=2

--exec p_multiply @a,@b,@c output

--select @c


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6724072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存