امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
select های تو در تو!
نویسنده پیام
iranproud آفلاین
تازه وارد

ارسال‌ها: 7
موضوع‌ها: 3
تاریخ عضویت: خرداد ۱۳۸۸

تشکرها : 5
( 0 تشکر در 0 ارسال )
ارسال: #1
select های تو در تو!
به نام خدا
سلام
اگه بخوام از اول اول بگم:
من یک برنامه نوشتم با دلفی که دیتا بانک اکسس هست و از کوئری ها استفاده کردم.
برنامه من برای یک کتابفروشیه!
مثلا برای پیدا کردن کتاب های خریده شده و فروخته شده از نشر سایه من این همــــــــه! کوئری رو جداگانه نوشتم و از نتیجه آخری استفاده میکنم:

قسمت اول: که از جدول کتب ورودی تمام کتاب های خریداری شده از نشر سایه رو در میاره: نام کوئری: vsaye
کد:
SELECT *
FROM vorud
WHERE dahande='نشر سايه';

حالا اینجا تعداد هر کتاب مشخص میشه (کتاب های ورودی به کتاب فروشی) نام کوئری :fvsaye
کد:
SELECT DISTINCT vsaye.name, Sum(vsaye.tedad) AS t, vsaye.vahed
FROM vsaye
GROUP BY vsaye.name, vsaye.vahed
HAVING (((Sum(vsaye.[tedad]))>-1));

میریم سراغ فروش

قسمت دوم : که از جدول خروجی کتاب هایی که با نام نشر سایه فروخته شدن رو در میاریم: نام کوئری : saye
کد:
SELECT *
FROM khoruj
WHERE girande='نشر سايه';

اینجا تعداد کتب فروخته شده محاسبه میشن! (ای خداااا) نام کوئری: fksaye
کد:
SELECT DISTINCT saye.name, sum(tedad) AS teedad
FROM saye
GROUP BY saye.name
HAVING (((sum(tedad))>-1));

و این هم قسمت سوم که جوین دو قسمت بالاست:

کد:
SELECT fvsaye.name, fvsaye.t, fvsaye.vahed, fksaye.teedad
FROM fvsaye INNER JOIN fksaye ON fvsaye.name = fksaye.name;

من چطور میتونم این همه کد رو در یک کد اس کیو ال خلاصه کنم؟ و نتیجه قسمت آخر رو بگیرم؟
ممنون و سپاسگذار
۳۱-خرداد-۱۳۸۸, ۱۶:۴۹:۱۴
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
RE: select های تو در تو!
سلام اولا یکم کویری ها رو بد نوشتی همون اولی رو ببین باید به جای استفاده از استرینگ از یه عدد استفاده کنی اینجوری به دیتابیس فشار کمتری می یاد
کد:
SELECT * FROM vorud WHERE dahande='1';
اینو ببین
کد:
SELECT vsaye.name, Sum(vsaye.tedad) AS t, vsaye.vahed FROM vorud WHERE dahande='نشر سايه' GROUP BY name, vahed
uniuon
SELECT saye.name, sum(tedad) AS teedad, 1 FROM khoruj WHERE girande='نشر سايه' GROUP BY name;

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۱-تير-۱۳۸۸, ۱۰:۲۸:۱۸
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] مشکل با SELECT TOP هنگام بکارگیری Order By mojtabamalaekeh 5 4,244 ۲۱-اسفند-۱۳۹۲, ۰۹:۰۶:۱۳
آخرین ارسال: Di Di

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS