এফআরএম-তে সাব-কোয়েরিতে অবশ্যই একটি নাম থাকতে হবে


92

আমার এই জিজ্ঞাসাটি পোস্টগ্র্রেএসকিউএল-এ লিখেছি যা এই বলে একটি ত্রুটি দেয়:

[ত্রুটি] ত্রুটি:
লাইন 3: ফর্ম (বিচ্ছিন্ন নির্বাচন (সনাক্তকারী) হিসাবে তৈরি_আপনি_আচার্য

এটি পুরো জিজ্ঞাসা:

SELECT COUNT (made_only_recharge) AS made_only_recharge
FROM (
    SELECT DISTINCT (identifiant) AS made_only_recharge
    FROM cdr_data
    WHERE CALLEDNUMBER = '0130'
    EXCEPT
    SELECT DISTINCT (identifiant) AS made_only_recharge
    FROM cdr_data
    WHERE CALLEDNUMBER != '0130'
)

ওরাকলে আমার একই অনুরোধ রয়েছে যা সূক্ষ্মভাবে কাজ করে। কেবলমাত্র পরিবর্তনটি যেখানে আমার EXCEPTওরাকলে রয়েছে সেখানে আমি এটি MINUSমূল শব্দটির সাথে প্রতিস্থাপন করেছি । আমি পোস্টগ্র্রেসে নতুন এবং এটি কী জিজ্ঞাসা করছে তা আমি জানি না। এটি পরিচালনা করার সঠিক উপায় কী?


4
এটা আমার কাছে মনে হচ্ছে ব্যতিক্রম অপ্রয়োজনীয় প্রথম হিসাবে যেখানে দফা ইতিমধ্যে excepts এটা: CALLEDNUMBER = '0130'
ক্লোডোলোডো নেট

এই ত্রুটিটি এখনও
পোস্টগ্রিস

উত্তর:


134

ALIASসাবকিউরিতে একটি যোগ করুন,

SELECT  COUNT(made_only_recharge) AS made_only_recharge
FROM    
    (
        SELECT DISTINCT (identifiant) AS made_only_recharge
        FROM cdr_data
        WHERE CALLEDNUMBER = '0130'
        EXCEPT
        SELECT DISTINCT (identifiant) AS made_only_recharge
        FROM cdr_data
        WHERE CALLEDNUMBER != '0130'
    ) AS derivedTable                           -- <<== HERE

18
@ জোহানউ এটির জন্য ধন্যবাদ, তবে কেন এটির প্রয়োজন (আমার ধারণা আমি এখানে একটি তত্ত্বের প্রশ্ন জিজ্ঞাসা করছি)?
অ্যান্ড্রু ক্যাসিডি

4
@ অ্যান্ড্রুস্যাসিডি আপনাকে সংজ্ঞায়িত করতে হবে যাতে আপনি আপনার ক্যোয়ারীতে আরও সীমাবদ্ধতা যুক্ত করতে সক্ষম হবেন (WHERE ডেরিভেড টেবিল। <ম্যাট্রিবিউট> = ৫)। অন্যথায় আপনার ডিবি জানেন না কীভাবে সাবকোয়ারিটি উল্লেখ করতে হবে
stackhelper101

37
পছন্দ করুন যতক্ষণ না আপনি সেই উপকণার বিষয়ে উল্লেখ করছেন না, এটির নাম কী তা তা বিবেচনা করে না। ব্যক্তিগতভাবে, আমি ব্যবহার করছি AS pg_sucks, যার অর্থ "ভাল, এখানে আপনার কাছে কিছু অপ্রয়োজনীয় শনাক্তকারী রয়েছে, তবে আপনি নিজেরাই অভ্যন্তরীণভাবে কিছু জেনারেট করতে পারবেন, অভিশাপ!" :)
ট্রেগোরেগ

1

নেস্টেড টেবিলগুলির ক্ষেত্রে, কিছু ডিবিএমএসের মাইএসকিউএল এবং ওরাকল এর মতো একটি এলিফ ব্যবহার করা প্রয়োজন তবে অন্যদের এর মতো কঠোর প্রয়োজন হয় না, তবে তবুও তাদের অভ্যন্তরীণ কোয়েরির ফলাফলের বিকল্প হিসাবে যুক্ত করতে দেয় to


4
আপনার শব্দটি বোঝায় যে ওরাকল এবং মাইএসকিউএল উভয়ের জন্য এই জাতীয় প্রয়োজনীয়তা রয়েছে। আমি কি এটা ঠিক পড়ছি?
স্ক্র্যাটে

@ স্ক্র্যাটে আমার মনে হয় আপনি ঠিকই বলেছেন এবং শব্দটি ঘুরিয়ে দেওয়া হয়েছে। "মাইএসকিউএল এবং ওরাকল তবে অন্যদের" পোষ্টগ্রেস্কল হওয়া উচিত, তবে মাইএসকিউএল এবং ওরাকল হিসাবে অন্যান্য "আমার মনে হয়। অবশ্যই এটি এখনও একটি রান-অন বাক্য, এবং আরও উন্নত করা যেতে পারে। 2013 এর উত্তরটি ঠিক আছে এবং এই উত্তরটি কিছুই যোগ করে না (2013 জবাব যদি আপনার অবশ্যই হয় তবে তার জন্য মন্তব্য করুন), সুতরাং উত্তরটি সরানো উচিত।
সীমাবদ্ধ প্রায়শ্চিত্ত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.