PDA

View Full Version : مشکل این کوئری چیه؟



hastiam
دوشنبه 02 بهمن 1391, 22:49 عصر
سلام
من میخوام با استفاده از کوئری زیر رکوردهایی از دو جدول مختلف در یک دیتابیس را که در جدول دیگر از دیتابیس دیگر نیست رو انتخاب کنم اما کوئری زیر کار نمیکنه و خطا داره :

select * from DataBase1.dbo.TblVoucherSub where code Not In ((select VoucherSubId from DataBase2.dbo.table1) or (select VoucherSubId from DataBase2.dbo.table2))

اگه از همین کوئری استفاده کنم و عبارت بعد از or رو ننویسم هیچ مشکلی نداره اما من میخوام رکوردهایی رو انتخاب کنم که نه در table1 و نه در table2 باشه
اگه امکانش هست این کوئری رو اصلاح بفرمایید.
ممنون از راهنماییتون.

ASKaffash
سه شنبه 03 بهمن 1391, 06:50 صبح
سلام
برای SubQuery دوم هم نیاز به In است

محمد سلیم آبادی
سه شنبه 03 بهمن 1391, 07:27 صبح
همان query که نوشته اید درست است. فقط باید OR را با UNION تعویض کنید (توجه داشته باشید که پرانتز برای subquery ها لازم نیست):
select *
from DataBase1.dbo.TblVoucherSub
where code Not In
( select VoucherSubId from DataBase2.dbo.table1
union
select VoucherSubId from DataBase2.dbo.table2);