当前位置:首页 » 编程语言 » sql新建一列求积
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql新建一列求积

发布时间: 2022-12-15 20:00:14

㈠ 求sql语句某列值行的乘积

表加一个主键列id 从1递增

然后 用循环(估计也快不起来) 而且 真的10000000条数据 v2值会非常大 你打算用什么类型承接? 我试了下按照你的v1一直循环 到第40行记录就不行了

WHILEEXISTS(SELECT1FROMdbo.Table1WHEREv2ISNULL)
BEGIN
UPDATEaSETa.v2=b.v2*a.v1
FROMTABLE1a
INNERJOINTABLE1bONa.id=b.id+1
WHEREb.v2ISNOTNULLANDa.v2ISNULL
END

㈡ sql,如何在基本表中增加一列,并用已知的数据进行换算计算

目测你那个查询的图片
如果不需要更新表的话, 那就直接是

SELECT
..... 前面不变
最后的 '' integral
修改为 (1+(Score-60)*0.1) * Ccredit AS integral
FROM
... 不变
WHERE
... 不变
最后的那个 SET ... 不要

㈢ 如何用sql乘法求乘积

根据题意,你应该想让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;

㈣ SQL如何通过返回的查询表中添加一列然后进行计算

selecta.商口名称as商品名称,a.原入库数as原入库数,b.当前入库数as当前入库数,a.原入库数-isnull(b.当前入库数,0)as出库数from原入库表asaleftjoin当前入库表asbona.商品名称=b.商品名称

㈤ 用sql语句算乘法

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

(5)sql新建一列求积扩展阅读:

SELECT

a.购房人

a.房间号

a.总房价

FROM

table1 AS a

㈥ SQL语言如何把A表的一列与B表建立笛卡尔乘积

使用交叉连接产生笛卡尔乘积
select
*
from
A
cross
join
B
或不使用任何连接条件,也可产生笛卡尔乘积
select
*
from
A,B
笛卡尔乘积与列无关,如果你想显示某几列,就在select后面指定相应的列名即可.
补充:
用A表的某列与B表做笛卡尔积,道理是一样的,你可以把该列看做是一个表源.如:
select
*
from
(select
distinct
某列
from
A)
C
cross
join
B

㈦ sql语句如何在表中新建一列

主键肯定不能为not null了- -
还有就是看看有没约束
ALTER TABLE 只允许添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。不能将列xxx添加到非空表xx中,因为它不满足上述条件。
alter table xx add 添加列表要是空的
指定列是否可接受空值。如果列不允许空值,则只有在指定了默认值或表为空的情况下,才能用 ALTER TABLE 语句添加该列。只有同时指定了 PERSISTED 时,才能为计算列指定 NOT NULL。如果新列允许空值,但没有指定默认值,则新列在表中的每一行都包含一个空值。如果新列允许空值,并且指定了新列的默认值,则可以使用 WITH VALUES 将默认值存储到表中每个现有行的新列中。
如果新列不允许空值,并且表不为空,那么 DEFAULT 定义必须与新列一起添加;并且,加载新列时,每个现有行的新列中将自动包含默认值。
在 ALTER COLUMN 语句中指定 NULL,可以强制 NOT NULL 列允许空值,但 PRIMARY KEY 约束中的列除外。只有列中不包含空值时,才可以在 ALTER COLUMN 中指定 NOT NULL。必须将空值更新为某个值后,才允许执行 ALTER COLUMN NOT NULL 语句,例如:
因为新建不能为空所以要先新建个可以为空的列
然后强制为空
下面代码以测试
alter table 表名 add 列名 nvarchar(20) nullgoUPDATE 表名 SET stuName = N'some_value' WHERE 列名 IS NULL