PDA

View Full Version : سوال: سوال درباره sql



هانیه_67
سه شنبه 29 اردیبهشت 1388, 20:43 عصر
سلام من تو sql اینquery رو نوشتم میاد کارمندای واحد 6 رو به شهر تهران انتقال میده و امتیازشون رو هم تغییر میده



CREATE PROCEDURE enteghal AS
update employee
set score=score+ (score/10) ,depnr = (select depnr
from department


where city='tehran') where depnr=6
GO


exec enteghal

اینو میده:


Server: Msg 512, Level 16, State 1, Procedure enteghal, Line 2
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.


چی کارش باید بکنم ؟:متفکر:

amin_alexi
چهارشنبه 30 اردیبهشت 1388, 09:14 صبح
سلام
SubQuery که برای مقدار دهی به depnr استفاده شده باید یک مقدار رو بر گردونه ولی داره چند مقدار بر می گردونه !(طبق گفته SQL Server !)
سوال در جدول Employee فیلدی به نام depnr وجود داره !

هانیه_67
جمعه 01 خرداد 1388, 21:07 عصر
سلام آره هم در جدول employee و هم department فیلد depnr وجود داره
در واقع موقع join این دو جدول depnr شرط join میشه

هانیه_67
جمعه 01 خرداد 1388, 21:20 عصر
سلام آره هم در جدول employee و هم department فیلد depnr وجود داره
در واقع موقع join این دو جدول، depnr شرط join میشه

pesar irooni
شنبه 02 خرداد 1388, 13:24 عصر
شما ابتدا این کوئری رو امتحان کن و مطمئن شو که فقط یه مقدار برمیگردونه

select depnr
from department
where city='tehran'
اگه بیشتر از یه مقدار برمیگردوند پس داده هات رو اشتباه وارد کردی و یا منطقت اشتباه بوده