نوشتن Sub Query در DBISAM
باسلام
چگونه می توان یک Query مثل این در DBISAM نوشت؟
SELECT * FROM ( SELECT * FROM Tabel1) NewTabel
من این کار را به راحتی در SQL SERVER انجام می دهم ولی در DBISAM هر کاری می کنم نمیشه. در ضمن من تنها مشکلی که با DBISAM تا الان داشتم فقط همین بوده. از DBISAM خیلی راضی هستم کار با اون خیلی راحته مثلاً از Transaction ها به خوبی پشتیبانی میکنه هرچند مجبور شدم روش کارم رو تاحد زیادی تغییر بدم ولی در نهایت همه چیز خیلی خوب داره پیش می ره الا این یک مشکل که نمی تونم حلش کنم و واقعا بد جوری گیر افتادم. لطفا کمک کنید. ممنون
نقل قول: نوشتن Sub Query در DBISAM
این دوستمون سوالشونو یه جای دیگه پرسیدند.
اگر میخواهی اطلاعات یک جدولو تو جدول دیگه بریزی
insert into tblorder2 select * from tblorder
اگر میخواهی لیست جداولو از یک جدول دیگه بگیری نمیدونم
مثل اینطوری میخواهی؟
select * from tbl1,tbl2
نقل قول: نوشتن Sub Query در DBISAM
سلام
فکر کنم دستور SELECT * FROM ( SELECT * FROM Tabel1) NewTabel
فرقی با دستور SELECT * FROM Tabel1 as NewTabel ندارن و جفتشون رکوردهای مشابهی رو بر می گردونن
نقل قول: نوشتن Sub Query در DBISAM
نه خیلی باهم فرق دارند
به SELECT * FROM ( SELECT * FROM Tabel1) NewTabel
اصطلاحا Sub Query گفته میشه که در دستورات SQL میتوان بجای استفاده از یک Table از نتیجه یه جستجوی دیگه استفاده نمود و موارد استفاده خیلی زیادی داره که نمی دونم چرا در DBISAM این قابلیت مهم وجود نداره
نقل قول: نوشتن Sub Query در DBISAM
شد آموزش دستورات sql
select * from tblfood where id in (select foodid from tblorder)
با این دستور میتونید از رکوردهای فیلد یک جدول دیگر برای جستجو تو جدول دیگه استفاده کنید
نقل قول: نوشتن Sub Query در DBISAM
نقل قول:
نوشته شده توسط
bootshow
شد آموزش دستورات sql
select * from tblfood where id in (select foodid from tblorder)
با این دستور میتونید از رکوردهای فیلد یک جدول دیگر برای جستجو تو جدول دیگه استفاده کنید
نه این کلا فرق داره
از این دستور برای جستجو در یک مجموعه استفاده می شود
و با Sub Query فرق داره
مثل این
SELECT * FROM (SELECT * Table2 where id in (select foodid from tblorder) ) WHERE Field1 = 5
که یک دستور جستجو داخل یک جستجوی دیگر قرار می گیرد
و به دلیل اینکه دیدم DBISAM از این دستور پشتیبانی نمی کند اونو کنار گذاشتم
وقتی دیدم یکی از دوستان گفت با DBISAM هیچ مشکلی نداره گفتم شاید راه حلی برای اون داشته باشه
نقل قول: نوشتن Sub Query در DBISAM
وای خدای من
SELECT * FROM ( SELECT * FROM Tabel1) NewTabel
یعنی چی؟
اول قسمت داخل پرانتز رو معنی می کنم : یعنی تمام رکورد ه و فیلد های Table1 را انتخاب کن و select قبل از پرانتز میگه تمام رکورد ها و فیاید های انتخاب شده در select داخل پرانتر رو انتخاب کن (یعنی همون table1) و حاصل رو به نام NewTable برگردان
یعنی اون select ی که داخل پرانتز کاملا الکی نوشته شده و بجای عبارت داخل پرانتز بنویسی table1 as در نتیجه select هیچ تفاوتی نداره
می خوای یه مثال هم بزنم؟
نقل قول: نوشتن Sub Query در DBISAM
اون یک مثال خیلی ساده بود. معلومه که با هم فرقی ندارند!
اما ممکنه که خیلی پیچیده تر هم بشه
واگه کاربرد نداشت مطمئنا توسط دیتابیس های مختلف ساخته نمی شد
نقل قول: نوشتن Sub Query در DBISAM
یه زحمتی بکش و مثال پیچیدش رو بزار تا بگم چطوری میشه
نقل قول: نوشتن Sub Query در DBISAM
این در اکسس بدون خطا اجرا میشود ولی در dbisam خطایی 11949 را می دهد
SELECT f1.name_kala, Sum(f1.tedad) AS Forush90,
(select sum(tedad) as forush90 from forosh f2
where f2.name_kala = f1.name_kala and f_date between '1389/06/01' and '1389/06/31'
group by name_kala ) AS Forush89
FROM forosh AS f1
WHERE (((f1.[f_date]) Between '1390/06/01' And '1390/06/31'))
GROUP BY f1.name_kala
نقل قول: نوشتن Sub Query در DBISAM
من ایمیل به پشتیبانی dbisam فرستادم و جواب آن این بود
No, DBISAM does not support using sub-queries as scalar values. Our newer product, ElevateDB, does allow for this
نقل قول: نوشتن Sub Query در DBISAM
به نظر من دیتابیسهایی مثل dbisam و ElevateDB و همینطور access
به درد یک پروژه تجاری نمیخورند
mySQL و ms sql express از نظر من گزینه های مناسبتری هستند
نقل قول: نوشتن Sub Query در DBISAM
نقل قول:
نوشته شده توسط
AmirSky
به نظر من دیتابیسهایی مثل dbisam و ElevateDB و همینطور access
به درد یک پروژه تجاری نمیخورند
mySQL و ms sql express از نظر من گزینه های مناسبتری هستند
البته بستگی به نوع پروژه دارد
نقل قول: نوشتن Sub Query در DBISAM
نقل قول:
نوشته شده توسط
سعید صابری
البته بستگی به نوع پروژه دارد
دقیقا . من تقریبا همه دیتابیس ها تست کردم. هیچکدوم بدون ایراد نیستند
برای پروژهای خیلی کوچیک یا پروژهایی که دیتاها اهمیت زیادی ندارند میشه از دیتابیسهایی مثل dbisam و access استفاده کرد
که البته ممکنه مشکلات زیادی برای برنامه نویس و یوز بوجود بیارن
نقل قول: نوشتن Sub Query در DBISAM
موافق نیستم
من از DbIsanدر 4 پوروژه تجاری خودم استفاده کردم و ازش هم حسابی راضی هستم
نقل قول: نوشتن Sub Query در DBISAM
من هم از dbisam کرده ام ولی بعضی از مواقع کلافه کننده است مثلا group by فیلد های memo یا استفاده از subquery به عنوان فیلد