ترحيل T-SQL ل Access Access استعلام SQL مع مشكلة في كتابة استبدال الحالة ل IIF

StackOverflow https://stackoverflow.com/questions/4972952

سؤال

لدي طاولتان bmreports_fpn_curves و bmreports_boa_curves كل يتكون من اسم، بعد التاريخ، الفترة والقيمة، على سبيل المثال: giveacodicetagpre.

مع حقل Rundate زيادة من قبل دقيقة واحدة (هذه السجلات C.1440 في اليوم الواحد) وفترات كونها 1-48. في bmreports_fpn_curves لدي مجموعة بيانات كاملة لكل فترة زمنية و <قوية> bmreports_boa_curves تحتوي على القيم التي ستحل محل هذه القيم الأساسية.

هناك عادة قيم Boa المكررة وبيان IIF متداخلا في Access عبارة SQL تحتوي على قاعدة لاختيار واحدة من FPN، أو قيمة Max Boa أو قيمة Boa لأي نقطة في الوقت المناسب وبعد ذكرت القاعدة:

1) إذا لم يكن هناك قيمة Boa، فاستخدم قيمة FPN
2) إذا كانت هناك قيمة BOA، فهي أقل من FPN، وتجد واستخدم قيمة Boa Min 3) إذا كانت هناك قيمة Boa وهي أكبر من FPN، ابحث واستخدم قيمة ماكس Boa

access sql query يعمل بشكل مثالي وهو كما يلي: giveacodicetagpre.

لقد قمت بإعادة كتابة الجزء الأكبر من الاستعلام في T-SQL (الاستعلام عن مصدر بيانات SQL Server SQL نفسه) والحصول على الانضمام الأيسر، Group By and Electements جميعا يعملون، لكنني أتعثر على القضية عند الاستبدال بالنسبة إلى IFF وسيكون حقا تقدير اليد إذا كان البعض لديه بضع لحظات الغيار.

استعلام SQL كما يقف حاليا: giveacodicetagpre.

هل كانت مفيدة؟

المحلول

giveacodicetagpre.

نصائح أخرى

ربما تكون أفضل حالا باستخدام CTE للقيام بكل الحسابات الإجمالية ثم القيام ببيانات قضيتك خارج ذلك giveacodicetagpre.

ل DB لا يدعم CTES، يمكنك أيضا استخدام تحديد داخل من عرض (عرض مضمون).الوصول بالمناسبة يدعم هذا. giveacodicetagpre.

هل جربت ترجمة حرفية أكثر من حالة IIF؟على سبيل المثال، تبدو سلسلة IIF الخاصة بك شيء مثل هذا: giveacodicetagpre.

لذلك سيكون الترجمة الحرفية شيء مثل هذا: giveacodicetagpre.

ليس لدي إمكانية الوصول إلى مخططك الكامل ولا البيانات حتى لا يمكنني اختبار الترجمة، لكنني أعتقد أنها صحيحة بلستانية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top