2013-09-03 3 views
5

क्या SQLite सामान्य तालिका अभिव्यक्तियों का समर्थन करता है?SQLite सामान्य तालिका अभिव्यक्तियों का समर्थन करता है?

मैं उस तरह क्वेरी चलाने के लिए करना चाहते हैं:

with temp (ID, Path) 
as (
    select ID, Path from Messages 
) select * from temp 
+2

कोई उदासी लेकिन वहाँ क्या आप के लिए CTE की जरूरत के लिए एक विकल्प हो सकता है, आप विस्तार से बता सकते हैं? – bendataclear

+1

आप जिस वास्तविक समस्या को हल करने का प्रयास कर रहे हैं वह क्या है? –

उत्तर

12

स्क्लाइट संस्करण 3.8.3 SQLite सामान्य तालिका अभिव्यक्तियों का समर्थन करता है।

Change log

Instructions

0

SQLite सीटीई का समर्थन नहीं करता, खिड़की काम करता है, या की तरह के किसी भी। हालांकि, आप अपने स्वयं के उपयोगकर्ता फ़ंक्शंस लिख सकते हैं जिन्हें आप SQLite एपीआई के साथ डेटाबेस में sqlite_create_function() का उपयोग करके डेटाबेस में पंजीकृत करके कॉल कर सकते हैं। आप उन्हें डेटाबेस के साथ पंजीकृत करते हैं, और फिर आप उन्हें अपने स्वयं के एप्लिकेशन कोड में उपयोग कर सकते हैं। आप एक समग्र फ़ंक्शन कर सकते हैं जो अलग-अलग कॉलम मानों के आधार पर औसत की श्रृंखला का योग करेगा। प्रत्येक मान के लिए, एक चरण-प्रकार कॉलबैक फ़ंक्शन कहा जाता है जो आपको डेटा पर कुछ गणना करने की अनुमति देता है, और राज्य डेटा रखने के लिए एक पॉइंटर भी उपलब्ध है।

+1

उत्तर के लिए धन्यवाद – Andrei

+5

स्क्लाइट ने हाल ही में सीटीई के लिए समर्थन जोड़ा है: http://www.sqlite.org/lang_with.html –

+0

संस्करण 3.8.3 में http://www.sqlite.org/releaselog/3_8_3.html – heneryville

1

एक अन्य समाधान अपने आवेदन में एक "CTE SQLite करने के लिए" अनुवाद परत एकीकृत करने के लिए है:

"के साथ w के रूप में (y) z" => "अस्थायी दृश्य y के रूप में w बनाएँ; Z"

"के साथ w के रूप में (y) z (x)" => "डब्ल्यू (एक्स) अस्थायी तालिका बनाने, WY में डालने; Z"

एक के रूप में (बदसूरत, desesperate, लेकिन काम) उदाहरण: http://nbviewer.ipython.org/github/stonebig/baresql/blob/master/examples/baresql_with_cte_code_included.ipynb

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