PDA

View Full Version : خطا در دستور SQL



shsoft
چهارشنبه 03 دی 1382, 10:10 صبح
با سلام
به نظر شما اشکال دستور زیر چیست.خطای
This operation is not allowed subqueries

آیا UNION نمی تواند در یک Select درونی قرار گیرد

Select * From mainlist Where number IN
Select number From list1)
UNION
(select number From list2

با تشکر

shsoft
چهارشنبه 03 دی 1382, 20:42 عصر
آقا پیدا کردم

مثل اینکه یاسوال من ساده بود هیچکس جواب نداد یا اینکه خیلی سخت بود.

کم حوصله
پنج شنبه 04 دی 1382, 00:54 صبح
آقا پیدا کردم
:shock:

حداقل جوابی را که پیدا کردی می گذاشتی تا ما هم درسی بگیریم از شما دوست عزیز :wink:

shsoft
پنج شنبه 04 دی 1382, 16:01 عصر
سلام
برای حل این مشکل باید آن را با OR شبیه سازی کرد
Select * From mainlist Where
)
number IN
(select number From list1 )
OR
number IN
(select number From list2 )
(

hr110
پنج شنبه 04 دی 1382, 21:09 عصر
با سلام
مشکل در Union میباشد که در سلکت داخلی استفاده کرده ایی، در این بخش نمیتوان از آن استفاده کرد.

hmm
چهارشنبه 10 دی 1382, 12:16 عصر
با سلام مشکل رو هنوز حل نکردی
شما در select اول تعدادی فیلدی (*) رو گذاشتی که معلوم نیست چند تا است ولی در select دوم تنها یک فیلد رو انتخاب کردی
بدلیل اینکه در union دادهای بعدی به زیر داده های قبلی اضافه میشوند حتما باید تعداد و size فیلدهای هر دو select یکی باشد

shsoft
جمعه 12 دی 1382, 11:26 صبح
با سلام
اولا Union در Select داخلی قرار دارد که شامل دو Select است و در آخر این Select های
داخلی تنها یک لیست از شماره ها را بر می گرداند.بنابر این فیلد آنها مشترک است.

همان طور که دوست عزیزمان گفتند نمی توان Union را در قسمت داخلی استفاده کرد
و باید با OR شبیه سازی شود.