View Full Version : استفاده از case قبل از دستور Select
rezaiy.ali
سه شنبه 06 فروردین 1387, 12:23 عصر
با سلام
ببخشید سوالم خیلی مبتدی است(من با Sql خیلی کم اشنایی دارم)
میشه قبل از دستور Select یک شرط را چک کرد و با توجه به شرط مقداری را برگرداند
مثلا
Case when Id<> null then
Select * From Tabel
else
Select Id From Table
end
با تشکر
Ali Mahabadi
سه شنبه 06 فروردین 1387, 12:35 عصر
از IF ... ... Else ... استفاده نمانید . در ضمن ID می بایستی پارامتر باشد.( ID@)
Developer Programmer
سه شنبه 06 فروردین 1387, 15:57 عصر
دستور Case بیشتر برای وقتیه که میخوای به جای مقدار جاری یک فیلد، چیز دیگه ای بر گردونه...
Use NorthWind
Go
Select OrderID,ShipRegion,Alias_Field=
Case
When ShipRegion is Null Then 'Null'
Else 'Not Null'
End
from Orders
Amir_Safideh
سه شنبه 06 فروردین 1387, 17:34 عصر
خوب اون کدی که شما نوشتید یقینا جواب نمیده . اگر منظورتون اینه که میخواهید با برقراری یک شرط یه جدول و با برقرار نشدن اون شرط یه جدول دیگه Select بشه خوب میتونی از چیزی شبیه این کد استفاده کنی .
Declare @ID Char(10)
IF @ID = Null
Begin
Select *
From Table1
End
Else If @ID = '1'
Begin
Select *
From Table2
End
ولی اگر منظورت اینه که فیلد خاصی رو کنترل شرط Select کنی خوب باید کدت رو به این صورت بزنی .
Select Field1,(Case When @ID Is Null Then Field2 Else Field3 End)
From Table1
موفق باشید .
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.