PDA

View Full Version : نحوه استفاده از دستور NOT IN یا Exist



arash21hhhh
سه شنبه 08 مهر 1393, 12:39 عصر
سلام .
من 2تا جدول دارم که ارتباط خاصی باهم ندارند . یکی پرسنل یکی دروس .
هر درس توسط یک پرسنل انتخاب میشه .
حالا من میخام لیست پرسنلی که هیچ انتخابی نداشتند و بگیرم ولی جواب نمی گیریم . ممنون میشم دوستان راهنمایی کنن .
select * from dbo.Prs_info where Not in(select whoselected from dbo.sc_doros )
در ضمن از دستور exists هم استفاده کردم خروجی دستور هیچی نیست .

حمید رضا رحیمیان
سه شنبه 08 مهر 1393, 12:45 عصر
سلام
لطف میکنید لیست فیلد ها و جدولاتون را بزارید چون من دقیقا متوجه نشدم

arash21hhhh
سه شنبه 08 مهر 1393, 12:48 عصر
بله - حتما -
2تا جدول یکی نامش هس Prs_info حاوی اطلاعات پرسنلی منجمله پرسنلی
یکی نامش هس SC_Doros که لیست و مشخصات دروس هست و یکی از فیلدا عنوانش هس Whoselected ( یعنی کدوم پرسنلی این درسو انتخاب کرده)

حمید رضا رحیمیان
سه شنبه 08 مهر 1393, 12:57 عصر
در select هر دو جدول انتخاب کنید ببینید درست میشه.
در ضمن وقتی شما دارید از NOT IN استفاده میکنید یعنی اینکه مثلا من یه فیلد انتخاب کردم ببین این فیلد با این مقدار وجود داره توی اون جدول.



select whoselected
from dbo.Prs_info where Not in(select whoselected from dbo.sc_doros )



یا مثلا این طور بنویسید



SELECT * FROM Table1 WHERE Table1.principal NOT IN (SELECT principal FROM table2)

arash21hhhh
سه شنبه 08 مهر 1393, 13:04 عصر
ضمن تشکر
توی جدول پرسنل از عنوان PRS استفاده کردم
select Prs ,whoselected from dbo.Prs_info,dbo.sc_doros where prs not in (select whoselected from dbo.sc_doros)
این شکلی هم خروجی نداد !
در ضمن جالبه اگه کدو به شکل زیر تغییر بدم خروجی میده
select Prs from dbo.Prs_info where prs in (select whoselected from dbo.sc_doros)

حمید رضا رحیمیان
سه شنبه 08 مهر 1393, 13:08 عصر
خوب حتما خروجی نداره
شما در قسمت دوم دنبال prs میگردید که داخل جدول دوم هست خوب حتما یک سری رکورد وجود دارد و خروجی میده.
ولی گزینه ی اول دنبال prs میگردید که داخل جدول دوم نباشه حتما هیچ رکوردی این طور وجود نداره که خروجی نمیده خواهش میکنم به صورت دستی چک کنید ببینید prs در جدول اول چی هست ببینید همشون یک موقع در جدول دوم وجود دارد.

arash21hhhh
چهارشنبه 09 مهر 1393, 10:57 صبح
اخه پرسنلی هایی هست که میدونم هیچ انتخابی نداشتن ولی لیست نمی شن:متفکر: