العصفور بتاريخ: 4 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 4 يناير 2007 اخواني الكرام ....حاولت انشاء حقل صيغة من حقل صيغة اخر وهو هنا باسم tax2 واستخدمت الطريقة التالية: select price,(price * 0.1) as tax1,(tax1 -300) as tax2 from cash; لكن الطريقة كانت خاطئة ....ارجو المساعدة ..وتصحيح صيغة الاستعلام..وشكرا.. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 4 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 4 يناير 2007 السلام عليكم الأخ الكريم ان كان عمود PRICE هو عمود في جدول CASHفيمكنك استبدال الALIAS TAX1 في التعبير التاني بالتعبير الاول لتصبح الجملة صحيحة هكذا select price,(price * 0.1) as tax1,((price * 0.1) -300) as tax2 from cash; بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
العصفور بتاريخ: 5 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 يناير 2007 اخي العزيز hanon_OCPاشكرك جدا على الرد ولكن هذاالحل غير مجدي بالنسبة لي فانا اعطيت مثال مبسط انما ما اود حسابه فعلا هو الاتي :حقل الصيغة الاول = x1+ x2 +x3 .......x12حقل الصيغة الثاني = ناتج حقل الصيغة الاول - 300حقل الصيغة الثالث = ناتج حقل الصيغة الثاني * 10 %حقل الصيغ الرابع = حقل الصيغةالاول + حقل الصيغة الثاني + حقل الصيغة الثالثهل لاحظت الان اني سوف اكتب سطور طويلة في سبيل الحصول على الجملة ؟هذا بالاضافة الى حاجتي لاظهار جميع الحقول ..طبعا باستخدام الاستعلامات في الاكسس يتم الامر طبيعي ....وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هانى سند بتاريخ: 5 يناير 2007 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2007 (معدل) السلام عليكم الأخ الكريم العصفور حتي اذا كان عندك اكثر من عملية حسابية في السيليكت فلا توجد مشكلة في وضعها جميعا فكتابة سطور طويلة لن تؤثر في صلاحية الجملة ستعطيك نفس النتيجة ثم انك لن تكتب سوف تاخذ COPY AND PASTE من كل عملية حسابية و تزود عليها الجزء الاخر ولم افهم ما معني كلمة حاجتي لاظهار كل الحقول فما المشكلة هنا ؟؟؟و اذا كنت لا تريد ان تكون جملة السيليكت طويلة جدا فيمكن وضع التعبيرت الحسابية التي تريدها في DATABASE FUNCTIONS ثم تضعها ف السيليكت مثلا CREATE OR REPLACE FUNCTION TAX (I_SAL IN NUMBER ) RETURN NUMBER IS V_PER NUMBER :=.01; V_TAX NUMBER; BEGIN V_TAX:=NVL(I_SAL,0)*V_PER; RETURN V_TAX; EXCEPTION WHEN OTHERSTHEN RETURN 0; END; ثم في السيليكت يمكنك ان تعمل علي هذه الفانكشن بدلا من كتابة التعبير أخيرا اذكرك انه يمكن استعمال الCOLUMN ALIAS في الORDER BY ولا يمكن استعماله في كلا من WHERE CLAUSE ,GROUP BY ,SELECT CLAUSE بالتوفيق تم تعديل 5 يناير 2007 بواسطة hanon_OCP اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
العصفور بتاريخ: 5 يناير 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 يناير 2007 اخي الكريم hanon_OCPاشكرك على التوضيح ....وسوف اجرب طريقة الدوال FUNCTIONS اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.