1樓:4終
因為set fnote= 這後面是隻能給一個值得。現在估計有複數個,所以有問題。解決方法如下:
1、建立一個臨時表,ifobject_id('tempdb..#tmp1') is not null drop table #tmp1; create table #tmp1(col1 varchar(50),col2 varchar(200));。
2、往臨時表中插入幾行測試資料,用於exists使用insert into #tmp1(col1, col2) values('code1', '1');insert into #tmp1(col1, col2) values('code10', '2');insert into #tmp1(col1, col2) values('code100', '3');。
3、查詢臨時表中的測試資料select * from #tmp1;。
4、如果在exists中查詢的結果是null,最終exists返回的仍然是true。例如,下面的語句返回的就是整個表的結果select * from #tmp1 where exists(select null);。
5、使用子查詢結合exists使用,當exists返回true的時候,就返回指定結果select *from #tmp1where exists(select 1 from #tmp1 where col2 = 2)and col1 = 'code1'。
6、使用子查詢結合exists使用,當exists返回false的時候,就不會返回指定的結果。例如,將上面sql子查詢的col2從等於2,改成等於20select *from #tmp1where exists(select 1 from #tmp1 where col2 = 20)and col1 = 'code1'。
7、在儲存過程中,經常會使用exists判斷條件是否成立,例如,判斷臨時表中是否存在記錄if exists(select 1 from #tmp1)print '存在資料'elseprint '不存在資料'。就完成了。
2樓:匿名使用者
是因為 你的set fnote= 這後面是隻能給一個值得。現在估計有複數個,所以有問題。
如果需要動態更新,那最後的那句where fstatus=0 ,也需要和你的子查詢一樣的修改。
現在條件比較少,就會變成,update 的where指定後,資料很多。而更新的值也很多,那就是多對多,sql就不知道更新哪個值了。
包exsits的原因,是使用這個函式,能限定到該行,而使用in,只能是複數個。
這個sql語句提示:當沒有用 exists 引入子查詢時,在選擇列表中只能指定一個表示式.請高手解答。語句如下
3樓:匿名使用者
是因為 你的set fnote= 這後面是隻能給一個值得。現在估計有複數個,所以有問題。
如果需要動態更新,那最後的那句where fstatus=0 ,也需要和你的子查詢一樣的修改。
現在條件比較少,就會變成,update 的where指定後,資料很多。而更新的值也很多,那就是多對多,sql就不知道更新哪個值了。
包exsits的原因,是使用這個函式,能限定到該行,而使用in,只能是複數個。
急!sql錯誤:當沒有用 exists 引入子查詢時,在選擇列表中只能指定一個表示式。
4樓:野草
update doc_tab set df=(select words ,count(file_id) from doc_tab group by words)
這個 你 要改欄位是 df 而你查詢的是兩個欄位words ,count(file_id) 一個欄位對應兩個 所以報錯 而且你 select words from doc_tab group by words 這個查詢是不是多行呀
你更新一行 不能有多條記錄的 你可以這樣用函式 max min count 之類的保證只能一行
這樣就可以了
update doc_tab set df=(select count(file_id) from doc_tab )
5樓:a如風c似影
sql中=右邊只能是一個固定的值,=(select words ,count(file_id) from doc_tab group by words)
你查詢出來的有words和一個count值,你讓人家取那個?沒有那麼智慧的。直接貼需求吧。。然後幫你寫一個
「當沒有用 exists 引入子查詢時,在選擇列表中只能指定一個表示式.」這句話時什麼意思?
6樓:勇敢的樵夫
你後面不能用* 號的,因為studentid只有一個,in裡面的欄位也只能有一個,這樣就可以了
select * from grade
update grade
set grade=grade+5
where studentid in(select studentid from student
where studentid like'%[3,6]')
當沒有用 exists 引入子查詢時,在選擇列表中只能指定一個表示式。
當沒有用 exists 引入子查詢時,在選擇列表中只能指定一個表示式.
7樓:書生無文
a表 b表沒有任何關係?
select a.id,b.id.b.name from a,b
讀書到底有沒有用,讀書到底有沒有用?
當然有用啊,可以提升自己的綜合能 讀書到底有沒有用?星知計劃 老是有人說讀書無用,那麼讀書真的無用嗎?有用的,讀書有幾種好處 1.讀書可以增加一個人談吐的質量和深度。讀書,可以讓你掌握知識,而知識就像呼吸 一樣,吐納之間,可以見人的氣質與涵養。讀書,在某種程度上,可以讓你獲得優越感,而優越感某種程度...
天窗有沒有用
一輛車裡擠的人越多,車內的空氣就越渾濁。開啟側窗可起到換氣的作用,可車輛在高速行駛時的風噪聲讓人難以忍受,坐在後排座位的人也會被側窗的風吹得睜不開眼。其實,用天窗來對付這些問題會更輕鬆一些。功用一 打破傳統的換氣模式 多一個 窗 自然多了一個通風口,因此開啟天窗,可以增加車內空氣流通的速度。尤其是在...
PMP有沒有用
pmp是非常有用的。首先,pmp是由美國專案管理協會pmi發起的,嚴格評估專案管理人員知識技能是否具有高品質的資格認證考試。其目的是為了給專案管理人員提供統一的行業標準。作為專案管理資格認證考試,已在國際上樹立了其權威性。其次,在國內專案型企業中認可度非常高,很多企業pmp認證作為專案經理上崗的必備...