![]() |
|
عمل شرط داخل استعلام - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94) +--- قسم : Microsoft SQL Server (http://vb4arb.com/vb/forumdisplay.php?fid=171) +--- الموضوع : عمل شرط داخل استعلام (/showthread.php?tid=20485) الصفحات:
1
2
|
عمل شرط داخل استعلام - djelloul - 21-05-17 السلام عليكم ورحمة الله تعالى وبركاته الأساتذة الكرام رجاءا عندي حقل أريد عمل استعلام بشرط تحقق قيمة معينة فيه يقوم بعملية حسابية داخل نفس الإستعلام كيف يتم ذلك قاعدة البيانات sql server ألف شكر لكم مسبقا RE: عمل شرط داخل استعلام - alma2 - 21-05-17 وضح أكثر ما تقصد "يقوم بعملية حسابية داخل نفس الإستعلام" وضع مثال RE: عمل شرط داخل استعلام - djelloul - 21-05-17 ألف شكر مسبقا SELECT dbo.Facture_L.Num_Vent, dbo.Facture_L.Num_Fact_Vent, dbo.Facture_L.ID_Prod, dbo.Facture_L.UM, dbo.UM.Nom_UM,iif(dbo.Facture_L.UM = 1, dbo.Facture_L.Qte_V, dbo.Facture_L.Qte_V * 0.02) as Qte, dbo.Facture_L.Prix_V FROM dbo.Facture_L INNER JOIN dbo.UM ON dbo.Facture_L.UM = dbo.UM.ID_UM لو هذا الحلق dbo.Facture_L.UM قيمته تساوي 1 نضرب قيمة الحقل dbo.Facture_L.Qte_V في 0.02 أما لو كانت غير ذلك تبقى قيمة الحقل dbo.Facture_L.Qte_V كما هي أرجوا أن أكون قد وضحت الفكرة ألف شكر مرة ثانية RE: عمل شرط داخل استعلام - alma2 - 21-05-17 انت عاملها بس انك عكستها كود : IIF(Facture_L.UM = 1, Facture_L.Qte_V * 0.02 , Facture_L.Qte_V) AS QteRE: عمل شرط داخل استعلام - djelloul - 21-05-17 تطلع لي رسالة الخطأ التالية : Error in list of function arguments: '=' not recognized. Unable to parse query text. RE: عمل شرط داخل استعلام - alma2 - 21-05-17 يبدو ان نوع العمود Facture_L.UM ليس رقمي ضعه داخل رمز ' كود : IIF(Facture_L.UM = '1', Facture_L.Qte_V * 0.02 , Facture_L.Qte_V) AS QteRE: عمل شرط داخل استعلام - djelloul - 21-05-17 نفس الرسالة هل يمكن استعمال if ; then RE: عمل شرط داخل استعلام - alma2 - 21-05-17 وجدت لك الطريقة عذرا لعدم خبرتي في sql server كود : CAST(CASE WHEN (Facture_L.UM = 1) THEN (Facture_L.Qte_V * 0.02) ELSE (Facture_L.Qte_V) END AS FLOAT) AS QteRE: عمل شرط داخل استعلام - djelloul - 21-05-17 طيب وهذا الإستعلام ؟ declare @UM Int set @UM Int = (SELECT dbo.Facture_L.UM FROM dbo.Facture_L) if @Um = '1' then SELECT dbo.Facture_L.Num_Vent, dbo.Facture_L.Num_Fact_Vent, dbo.Facture_L.ID_Prod, dbo.Facture_L.UM, dbo.UM.Nom_UM, Facture_L.Qte_V * 0.02 AS Qte FROM dbo.Facture_L INNER JOIN dbo.UM ON dbo.Facture_L.UM = dbo.UM.ID_UM بتطلع لي هذه الرسالة : [attachment=14306] RE: عمل شرط داخل استعلام - alma2 - 21-05-17 جرب هذا الاستعلام بعد التعديل كود : SELECT Facture_L.Num_Vent, |