declare @t1 Table
(
a1 int
)
insert into @t1
select top 10 AnimalID from Animal
--select * from @t1
declare @t2 table
(
dogs int null
)
update @t2
set dogs = (Select COUNT(*) from @t1)
--------->的出來把它給了我只是0TSQL無法更新計數語句中的列
declare @t1 Table
(
a1 int
)
insert into @t1
select top 10 AnimalID from Animal
--select * from @t1
declare @t2 table
(
dogs int null
)
update @t2
set dogs = (Select COUNT(*) from @t1)
--------->的出來把它給了我只是0TSQL無法更新計數語句中的列
這是因爲你正在創建你的表,並更新它,但它是空的。
變化
update @t2 set dogs = (Select COUNT(*) from @t1)
對於
declare @c int
select @c = COUNT(*) from @t1
insert into @t2 (dogs) values (@c)
嘗試使用INSERT語句而不是更新的(」更新」是修改一個已經存在的記錄;‘插入’是進入一個新的) - 從這個代碼在所有
INSERT INTO @t2 SELECT COUNT(*) FROM @t1
爲什麼應該有任何輸出?我沒有看到任何選擇或打印語句。
(究竟是什麼,你要完成?)
這是因爲你不插入@ T2,所以您的更新沒有任何記錄更新。
其實我已經在臨時表中@ T2各種其他列。我想更新第一張表中@ t1的所有列,這些列也有各種其他列。 這只是我總結到小,所以我可以解決,如果我得到一些解決方案。 我認爲Francisco解決方案可能會對我有所幫助。 謝謝 – desi 2010-04-29 17:24:05
首先你不能更新@ t2中的任何記錄,因爲你沒有任何記錄要更新。你需要做另一個插入。假設你有記錄,你需要一種方法將子查詢與你需要更新的記錄聯繫起來。
感謝弗朗西斯科。你的解決方案可以幫助我一點。 最好的問候 – desi 2010-04-29 17:25:24