मैं आंतरिक क्वेरी के परिणाम के खाते से ग्रुप करना चाहता हूं।

SELECT * 
FROM (SELECT O.CUSTADDRESSID, O.ACCOUNTNO, D.ORGANISATIONNAME
      FROM db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN
           db.sc.TP_CUSTOMER_BUSINESS D 
      ON O.ACCOUNTNO = D.ACCOUNTNO
     ) a 
GROUP BY ACCOUNTNO 
ORDER BY ACCOUNTNO;

लेकिन मुझे यह त्रुटि मिल रही है:

संदेश 8120, स्तर 16, राज्य 1, पंक्ति 1
कॉलम 'a.CUSTADDRESSID' चयन सूची में अमान्य है क्योंकि यह या तो एक समग्र कार्य या ग्रुप बाय क्लॉज में शामिल नहीं है।

मदद की ज़रूरत है। धन्यवाद।

0
Bhaskar Das 1 अगस्त 2018, 13:24
अपना प्रश्न संपादित करें और नमूना डेटा और वांछित परिणाम प्रदान करें।
 – 
Gordon Linoff
1 अगस्त 2018, 13:47

2 जवाब

आपको " GROUP BY ACCOUNTNO " को हटाने की जरूरत है - क्वेरी इस तरह दिखती है:

SELECT * FROM (SELECT
   O.CUSTADDRESSID, O.ACCOUNTNO,
   D.ORGANISATIONNAME
FROM
   db.sc.TP_CUSTOMER_ADDRESSES O    FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a 
ORDER BY ACCOUNTNO

या समूह में सभी कॉलम सूचीबद्ध करें - क्वेरी इस तरह दिखती है:

SELECT * FROM (SELECT
       O.CUSTADDRESSID, O.ACCOUNTNO,
       D.ORGANISATIONNAME
    FROM
       db.sc.TP_CUSTOMER_ADDRESSES O    FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a 
    GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME
    ORDER BY ACCOUNTNO
1
areklipno 1 अगस्त 2018, 13:27

समूह द्वारा और चयन समान नहीं हैं, यहां एक नमूना है:

SELECT ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME FROM (
  SELECT
   O.CUSTADDRESSID, O.ACCOUNTNO,
   D.ORGANISATIONNAME
   FROM
   db.sc.TP_CUSTOMER_ADDRESSES O    FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO
   ) a 
 GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME  ORDER BY ACCOUNTNO
1
Vinh Can Code 1 अगस्त 2018, 13:29