sql - Select and join error must appear in the GROUP BY clause or be used in an aggregate function -
मैं यह करने की कोशिश कर रहा हूं:
SELECT *, case जब SUM (fld_allocated_time) ) / 24 & lt; Fld_allocated_days के बाद 'ओके' और 'नॉक' अंतराल के रूप में एलोकेटेड से (SELECT tbl_project.fld_id, tbl_project.fld_allocated_days, tbl_project_timesheet.fld_allocated_time से "SD_PRJ"। Tbl_project इनर जॉइन करें "SD_PRJ" .tbl_project_timesheet पर tbl_project.fld_id = tbl_project_timesheet.fld_id) एएलआईएस के रूप में और मुझे यह त्रुटि मिलती है:
त्रुटि: कॉलम "total.fld_id" ग्रुप BY खंड में प्रकट होना चाहिए या किसी कुल कार्य एसक्यूएल राज्य: 42803 कैरेक्टर: 8
टीबीएल = तालिका
fld = column = SD_PRJ = स्कीमा नाम
यदि आप अपनी क्वेरी की सभी पंक्तियों के लिए एक एकल योग की गणना करना चाहते हैं और प्रत्येक पंक्ति में fld_allocated_days के साथ इसकी तुलना करना चाहते हैं तो आप यह कोशिश कर सकते हैं:
उपनाम के साथ (SELECT * से (SELECT tbl_project.fld_id, tbl_project.fld_allocated_days, tbl_project_timesheet.fld_allocated_time से "SD_PRJ" .tbl_project INNER J ओआईएन "एसडी_PRJ"। Tbl_project_timesheet पर tbl_project.fld_id = tbl_project_timesheet.fld_id) एक का चयन करें। *, मामले जब b.sm & lt; Fld_allocated_days फिर 'ओके' और 'नॉक' अंत के रूप में अलियास से एक क्रॉस जॉय से चुनें (एसआईएम (fld_allocated_time चुनें) / उर्फ als से 24 एसएच) बी; हालांकि, मुझे लगता है आपको इस तरह से कुछ चाहिए:
SELECT tbl_project.fld_id, जब मामला SUM (tbl_project_timesheet.fld_allocated_time) / 24 & lt; Fld_allocated_days फिर 'ओके' और 'नॉक' अंतराल से "एसडी डीआरआरआरआर" से "एसडी डीआरआरजे" के रूप में "एसडी डीआरआरआरआर" .टीबीडीपीआईएनएनआर शामिल करें "एसडी डीआरआरआरआरआर"। टीबीडीओपीआईटीआईटीआईटीआईटी = टीबीडीपीआईटी.एफ़.आई.टी.आईडी = टीबीएलप्रोजेक्ट_टाइमरीसेट.फ़ल्ड_आईड ग्रुप द्वारा टीएलबीपीप्रोजेक्टफ़ील्ड_आईड, टीबीएलप्रोफाइट। एफएलडी_ऑलोकेटेड_डे;
Comments
Post a Comment