㈠ 求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