دوستان با سلام
میخواستم بدونم ارور زیر برا چی هست و اشکال کوئری چی هست و چی به جاش جایگزین کنم بهتر هست؟
ضمیمه 144766
البته اگه sum بگیرم مشکلی نداره.ولی اگه بخوام اینجوری ساب بگیرم خطا میده.
Printable View
دوستان با سلام
میخواستم بدونم ارور زیر برا چی هست و اشکال کوئری چی هست و چی به جاش جایگزین کنم بهتر هست؟
ضمیمه 144766
البته اگه sum بگیرم مشکلی نداره.ولی اگه بخوام اینجوری ساب بگیرم خطا میده.
سلام
SubQuery که نوشتید بیشتر از یک جواب دارد
اول subquery رو اجرا کنید
سلام،
دوست عزیز خطا کاملا مشخصه...
کوئری داخلی بیش از یک رکورد برمیگردونه و این در حالتی که شما ازش استفاده میکنید درست نیست.
برای رفع این مشکل شماره فاکتور رو هم در عبارت where بیاورید تا کالا با کد 4 رو در یک فاکتور خاص جستجو کنه نه در کل ریزفاکتور!!!!
البته اگه اصل مطلب رو که برای چی و با چه شرایطی میخوایید کوئری بزنید رو میفرمودید، به نظر من راه بهتری هم برای این کار وجود داره...
سلام
با تشکر از شما دوست عزیز و ممنوم از پاسختون
من یه جدول به اسم t_rizfactor دارم که ریز فاکتورهام رو درون اون ثبت میکنم مثل شکل زیر:
ضمیمه 144768
در جدول بالا فیلد های fyjoze,fykol,mabalghkol برا ورود و خروج کالا مشترک هست یعنی اونا رو دوبار تعریف نکردم حالا میخوام یه کوئری بنویسم که اطلاعاتی مثل شکل زیر رو بهم بده :
ضمیمه 144769
این هست که دست به دامن ساب کوئری شدم برا نشون دادن فیلدهای مشترک برای ورود و خروج کالا ولی ارور میده دوستان اگه میشه راهنمایم کنید..
با سلام،
دوست من خوشحالم که تونستم کاری برات انجام بدم،
در نمونه بالا، شما چند نوع اطلاعات رو در یک گرید میخوایید نشون بدین، که این از نظر کاری خیلی خوب و درست هستش، ولی باید دقت داشته باشید که ماهیت این اطلاعات با هم فرق دارن، به عنوان مثال: ماهیت ابتدای دوره با خرید و فروش فرق میکنه و شما هم اطلاعات اونرو در یک جدول قرار ندادین(که البته کاره درستی هستش)، اما در همیچین مواقعی باعث دردسر میشه و کارو سخت میکنه.... :لبخندساده::لبخندساده::لبخن ساده:
در یه همچین مواقعی باید از stored procedure ها استفاده بشه که بتونید چند کارو همزمان انجام داده و در آخر یک نتیجه کلی رو به خروجی ارسال کنید.
البته میشه این مورد شما رو با یک کوئری هم حل کرد، به این صورت که شما باید اطلاعات هر دو جدول(جدول ابتدای دوره و جدول خرید و فروش) رو با هم union کنید و دقت داشته باشید که در union باید تعداد فیلدهای هر کدام از select ها برابر باشد، پس شما مجبورید برای هر کدام از فیلدهای که در جدول وجود ندارد مقدار null رو یا رشته خالی یا صفر رو با نام alias وارد کنید تا ترتیب فیلد ها به هم نخوره و در آخر شکل کلی خروجی به همون ترتیبی بشه که دلتون میخواد.
بعد در گرید به جای اون null یا خالی ها تنظیم کنید که مقداری نشون نده و رشته خالی بندازه تا کاربر هم دچار اشتباه نشه..
امید وارم موفق باشین