तो, यहां क्या होता है कि जब परिणाम प्रदर्शित होते हैं, तो यह कॉलम नाम को संयोजित नहीं करता है, बल्कि इसे छोटा कर देता है। यह अभी भी कई पंक्तियों को दिखाता है।
select distinct
CASE WHEN ARPDisplayName0 like 'Crystal Reports 2008%' THEN 'Crystal Reports 2008'
WHEN ARPDisplayName0 like 'Crystal Reports 2011%' THEN 'Crystal Reports 2011'
ELSE ARPDisplayName0 END ARPDisplayName0,
count(ARPDisplayName0) as Software_Count
from v_gs_INSTALLED_SOFTWARE
where
ARPDisplayName0 like '%Crystal Reports%'
group by ARPdisplayname0
order by ARPDisplayName0
परिणाम एक प्रविष्टि होना चाहिए: "क्रिस्टल रिपोर्ट 2008"
एकाधिक नहीं: "क्रिस्टल रिपोर्ट 2008" "क्रिस्टल रिपोर्ट 2008" "क्रिस्टल रिपोर्ट 2008" "क्रिस्टल रिपोर्ट 2008" "क्रिस्टल रिपोर्ट 2008"
अपडेट करें: तो, फिक्स एक सबक्वेरी था
select ARPDisplayName0, count(*) as Total
from
(
select
CASE WHEN ARPDisplayName0 like 'Crystal Reports 2008%' THEN 'Crystal Reports 2008'
WHEN ARPDisplayName0 like 'Crystal Reports 2011%' THEN 'Crystal Reports 2011'
ELSE ARPDisplayName0 END ARPDisplayName0,
count(ARPDisplayName0) as Software_Count
from v_gs_INSTALLED_SOFTWARE
where
ARPDisplayName0 like '%Crystal Reports%'
)t
group by ARPDisplayName0
order by ARPDisplayName0
1 उत्तर
ऐसा लगता है कि मुझे हर दिन कुछ न कुछ सीखना है। फिक्स एक सबक्वायरी थी (मेरी चाय नहीं)
select ARPDisplayName0, count(*) as Total
from
(
select
CASE WHEN ARPDisplayName0 like 'Crystal Reports 2008%' THEN 'Crystal Reports 2008'
WHEN ARPDisplayName0 like 'Crystal Reports 2011%' THEN 'Crystal Reports 2011'
ELSE ARPDisplayName0 END ARPDisplayName0,
count(ARPDisplayName0) as Software_Count
from v_gs_INSTALLED_SOFTWARE
where
ARPDisplayName0 like '%Crystal Reports%'
)t
group by ARPDisplayName0
order by ARPDisplayName0
group by ARPDisplayName0
जोड़ने की आवश्यकता हो सकती है अन्यथा यह त्रुटि को फेंकने का अनुमान है;)
count
बिना group by
के नहीं हो सकता है, और यदि आप इसे जोड़ते हैं तो बाहरी गणना केवल समूहों की संख्या की गणना करेगी। आपको पहले ARPDisplayName0
को बिना किसी समुच्चय के परिभाषित करना होगा, फिर उस मान और गिनती के आधार पर समूह बनाना होगा। साथ ही count(ARPDisplayName0)
count(*)
या count(1)
के समान है यदि ARPDisplayName0
अशक्त नहीं है
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
sql-server
Microsoft SQL सर्वर एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है। कॉम्पैक्ट, एक्सप्रेस, एज़्योर, फास्ट-ट्रैक, एपीएस (पूर्व में पीडीडब्ल्यू) और एज़्योर SQL डीडब्ल्यू सहित सभी SQL सर्वर संस्करणों के लिए इस टैग का उपयोग करें। अन्य प्रकार के DBMS (MySQL, PostgreSQL, Oracle, आदि) के लिए इस टैग का उपयोग न करें। सॉफ़्टवेयर और मोबाइल विकास के मुद्दों के लिए इस टैग का उपयोग न करें, जब तक कि यह सीधे डेटाबेस से संबंधित न हो।
CROSS APPLY (VALUES
डाल सकते हैं जिससे आप इसे क्वेरी में कहीं भी संदर्भित कर सकते हैं