2014-11-14 3 views
5

इस क्वेरी PostgreSQL में काम करता है:PostgreSQL array_agg फ़ंक्शन को SQLite में अनुवाद कैसे करें?

Select ot.MCode,array_to_string(array_agg(tk1.TName || ',' || ot.TTime), ' - ') as oujyu_name_list 
    From TR_A ot 
    inner join MS_B tk1 on ot.Code = tk1.Code 
    Where ot.Code in (Select Code From TR_C) 
    Group byot.MCode 

लेकिन यह SQLite में काम नहीं करता है, क्योंकि SQLite array_agg() समारोह नहीं है। यह क्वेरी SQLite में कैसे परिवर्तित की जा सकती है?

उत्तर

5

इस क्वेरी के लिए, आप group_concat, जो सीधे एक स्ट्रिंग रिटर्न का उपयोग कर सकते हैं: http:/

SELECT ..., group_concat(tk1.TName || ',' || ot.TTime, ' - ') 
FROM ... 
+0

यह है कि ARRAY_AGG समारोह के विपरीत, आप GROUP_CONTACT के लिए GROUP_BY खंड, अधिक infos का उल्लेख करना होगा उल्लेख करने के लिए लायक है /stackoverflow.com/questions/22190200/query-using-group-concat-is-returning-only-one-row – younes0

+0

@ younes0 * सभी * कुल फ़ंक्शन ग्रुप बाय के बिना एक एकल पंक्ति लौटाते हैं; ARRAY_AGG और GROUP_CONCAT के बीच कोई अंतर नहीं है। –

+0

आप सही हैं; मैं विशिष्ट केस पोस्टग्रेज़ के बारे में बात कर रहा था जो समूह_बी को छोड़ने की अनुमति देता है (यदि आप मुझे लगता है कि एक तालिका में पूछताछ है) – younes0

संबंधित मुद्दे