我抓住了我的頭,因爲我可以讓這段代碼在SQL中工作,但是當我將它轉移到一個簡單的gridview時,代碼錯誤指出'Invalid Object name表名」。SQL減法代碼在SQL中工作,但不是在sqldatasource中工作
我試圖做的是採取一個靜態的數字,並從同一個表中的三個不同的列中減去它。
這是我SQL內的工作:
SELECT
(3000)
-
(SELECT COUNT(column1) from table1 where column1 = 'Agreed')
+
(SELECT COUNT(column2) from table1 where column2 = 'Agreed')
+
(SELECT COUNT(column3) from table1 where column3 = 'Agreed')
AS subtract
我已經試過了靜態總走動這樣
(3000)
-
SELECT
(SELECT COUNT(column1) from table1 where column1 = 'Agreed')
+
(SELECT COUNT(column2) from table1 where column2 = 'Agreed')
+
(SELECT COUNT(column3) from table1 where column3 = 'Agreed')
AS subtract
而且....
「3000 '
-
SELECT
(SELECT COUNT(column1) from table1 where column1 = 'Agreed')
+
(SELECT COUNT(column2) from table1 where column2 = 'Agreed')
+
(SELECT COUNT(column3) from table1 where column3 = 'Agreed')
AS subtract
但都返回SQL中的語法錯誤。
我希望得到的是從靜態數字中取出三條select語句的總和的剩餘部分。
我在這裏錯過了一些簡單的東西嗎?我難以理解爲什麼這可以在SQL中工作,但不是當我將代碼轉移到gridview時。
::編輯::
見下面回答的解決方案。必須重新編寫代碼才能使其正常工作。
SELECT
(3000)
-
a.c
+
b.c
+
c.c
from (SELECT COUNT(*) AS c from table1 where column1 = 'Agreed') a
left join (SELECT COUNT(*) AS c from table1 where column2 = 'Agreed') b on 1=1
left join (SELECT COUNT(*) AS c from table1 where column3 = 'Agreed') c on 1=1
你是如何在GridView中使用此代碼?你的意思是一個sqldatasource? – boruchsiper
是的,一個sqldatasource。 –