idic1
چهارشنبه 11 اردیبهشت 1387, 11:51 صبح
دستور زیر بدون مشکلی اجرا میشود
SELECT pub_name FROM pubs.dbo.publishers WHERE pub_id in ('1389', '0736')
ولی اگر بخواهم مقادیر مورد جستجو را از طریق یک متغیر بدهم ( به شکل زیر ) ، جواب نمیدهد
Declare @List Varchar(100)
Set @List=QuoteName('1389','0736')
SELECT pub_name FROM pubs.dbo.publishers WHERE pub_id in (@List)
الزاما میخواهم این کار را از طریق متغیر انجام دهم ، لطفا راهنمائی فرمائید که چگونه میتوان در عملگر IN از متغیر استفاده کرد. اینکه چرا دستور فوق جواب نمیدهد را ، خودم میدانم
ضمنا در عمل چون تعداد عناصر مشخص نیست ، نمیتوان از Or استفاده کرد
در مثال فوق از دیتابیس Pubs استفاده شده که در SqlServer موجود است.
با تشکر
SELECT pub_name FROM pubs.dbo.publishers WHERE pub_id in ('1389', '0736')
ولی اگر بخواهم مقادیر مورد جستجو را از طریق یک متغیر بدهم ( به شکل زیر ) ، جواب نمیدهد
Declare @List Varchar(100)
Set @List=QuoteName('1389','0736')
SELECT pub_name FROM pubs.dbo.publishers WHERE pub_id in (@List)
الزاما میخواهم این کار را از طریق متغیر انجام دهم ، لطفا راهنمائی فرمائید که چگونه میتوان در عملگر IN از متغیر استفاده کرد. اینکه چرا دستور فوق جواب نمیدهد را ، خودم میدانم
ضمنا در عمل چون تعداد عناصر مشخص نیست ، نمیتوان از Or استفاده کرد
در مثال فوق از دیتابیس Pubs استفاده شده که در SqlServer موجود است.
با تشکر