दिलचस्प पोस्ट
मैं हर दिन विभिन्न फ़ोल्डरों में लॉग इन करने के लिए log4net कैसे सेट कर सकता हूँ? क्या जावा 8 गेटर्स वैकल्पिक प्रकार लौटाएंगे? पायथन, क्या मुझे __neq__ पर आधारित __ne __ () ऑपरेटर को लागू करना चाहिए? मैं जिस चर को एक C ++ संदर्भ संदर्भित करता हूँ उसे कैसे बदल सकता हूँ? जब सीएसएस 3 स्केल के साथ किसी तत्व को स्केल किया जाता है, तो यह एनीमेशन पूरा होने के ठीक तब तक पिक्सलेट हो जाता है। मैं सीमा के साथ एक तत्व को एनिमेट कर रहा हूं कैसे log4j को ठीक से प्रारंभ करें? jQuery अजाक्स अनुरोध भेजे बिना रद्द हो रहे हैं प्राप्त करेंलोकनॉवनस्थान रिक्त स्थान रिक्त करता है अनारॉर्डेड पायथन सेट के 'ऑर्डर' PHP 5.3.3 में ini_set ("memory_limit") बिल्कुल भी काम नहीं कर रहा है इसकी विवरण विशेषता द्वारा एक एएनयूम मान ढूँढना ए स्टार में बैक लाइकिंग लिनक्स घड़ी पर मिलीसेकंड का समय प्राप्त करने के लिए सी + + ठीक से काम नहीं करता R: आपरेशनों द्वारा "समूह" को तेज कर रहे हैं डेटा के एक पूरे कॉलम में अग्रणी या अनुगामी रिक्त स्थान निकालें

एसक्यूएल सर्वर में ओरेकल के पहले के द्वारा कनेक्ट का सिमुलेशन

मैं एसक्यूएल सर्वर 2000/2005/2008 में ओरेकल के पहले कनेक्टिविटी की कार्यक्षमता प्राप्त करना चाहूंगा?

कृपया मेरी मदद करें

Solutions Collecting From Web of "एसक्यूएल सर्वर में ओरेकल के पहले के द्वारा कनेक्ट का सिमुलेशन"

पुनरावर्ती प्रश्नों को कार्यान्वित करने के लिए एसक्यूएल मानक तरीका, जैसा कि आईबीएम डीबी 2 और एसक्यूएल सर्वर द्वारा कार्यान्वित किया गया है, इन क्लॉज के WITH है। एक WITH एक (तकनीकी रूप से एक पुनरावर्ती सीटीई ) CONNECT BY के अनुवाद के एक उदाहरण के लिए यह लेख देखें – उदाहरण डीबी 2 के लिए है, लेकिन मेरा मानना ​​है कि यह SQL सर्वर पर भी काम करेगा I

संपादित करें: जाहिरा तौर पर मूल उलझन में एक विशिष्ट उदाहरण की आवश्यकता है, यहां आईबीएम साइट से एक है जिसका URL मैंने पहले ही दिया था। तालिका को देखते हुए:

 CREATE TABLE emp(empid INTEGER NOT NULL PRIMARY KEY, name VARCHAR(10), salary DECIMAL(9, 2), mgrid INTEGER); 

जहां mgrid एक कर्मचारी के प्रबंधक के mgrid संदर्भ देता है, कार्य है, उन सभी के नाम प्राप्त करें जो सीधे या अप्रत्यक्ष रूप से Joan रिपोर्ट करता है। ओरेकल में, यह एक सरल CONNECT :

 SELECT name FROM emp START WITH name = 'Joan' CONNECT BY PRIOR empid = mgrid 

एसक्यूएल सर्वर, आईबीएम डीबी 2, या पोस्टग्रेएसक्यूएल 8.4 (साथ ही साथ एसक्यूएल मानक में, जो इसके लिए मूल्य 😉 है, पूरी तरह से समकक्ष समाधान इसके बजाय रिकर्सिव क्वेरी (अधिक जटिल सिंटैक्स, लेकिन वास्तव में, यहां तक ​​कि अधिक शक्ति और लचीलेपन ):

 WITH n(empid, name) AS (SELECT empid, name FROM emp WHERE name = 'Joan' UNION ALL SELECT nplus1.empid, nplus1.name FROM emp as nplus1, n WHERE n.empid = nplus1.mgrid) SELECT name FROM n 

ओरेकल का START WITH विथ क्लॉज पहली नेस्टेड SELECT , रिकर्सन का आधार मामला है, जिसे UNION एड को पुनरावृत्त भाग के साथ बनाया गया है जो सिर्फ एक और SELECT

एसक्यूएल सर्वर का विशिष्ट स्वाद एमएसडीएन पर प्रलेखित है, जो इस कीवर्ड का उपयोग करने के लिए दिशा-निर्देश और सीमाएं भी प्रदान करता है, साथ ही कई उदाहरण भी।

@Alex Martelli का उत्तर महान है! परन्तु यह केवल एक तत्व के लिए समय पर काम करता है ( WHERE name = 'Joan' ) यदि आप WHERE खंड लेते हैं, तो क्वेरी सभी रूट पंक्तियों को एक साथ वापस कर देगी …

मैंने अपनी स्थिति के लिए थोड़ा बदल दिया है, इसलिए यह एक मेज के लिए पूरे पेड़ को दिखा सकता है।

टेबल परिभाषा:

 CREATE TABLE [dbo].[mar_categories] ( [category] int IDENTITY(1,1) NOT NULL, [name] varchar(50) NOT NULL, [level] int NOT NULL, [action] int NOT NULL, [parent] int NULL, CONSTRAINT [XPK_mar_categories] PRIMARY KEY([category]) ) 

( level का शाब्दिक स्तर 0 का स्तर है: रूट, 1: रूट के बाद पहला स्तर …)

और क्वेरी:

 WITH n(category, name, level, parent, concatenador) AS ( SELECT category, name, level, parent, '('+CONVERT(VARCHAR (MAX), category)+' - '+CONVERT(VARCHAR (MAX), level)+')' as concatenador FROM mar_categories WHERE parent is null UNION ALL SELECT m.category, m.name, m.level, m.parent, n.concatenador+' * ('+CONVERT (VARCHAR (MAX), case when ISNULL(m.parent, 0) = 0 then 0 else m.category END)+' - '+CONVERT(VARCHAR (MAX), m.level)+')' as concatenador FROM mar_categories as m, n WHERE n.category = m.parent ) SELECT distinct * FROM n ORDER BY concatenador asc 

(आपको level फ़ील्ड को जोड़ने की ज़रूरत नहीं है, मैंने केवल और पठनीय बनाने के लिए किया है)

इस प्रश्न का उत्तर कुछ ऐसा होना चाहिए:

एसक्यूएल रिटर्न

मुझे आशा है कि यह किसी को मदद करता है!

अब, मैं सोच रहा हूं कि यह MySQL पर कैसे करें … ^^

मैंने पहले से कनेक्ट नहीं किया है, लेकिन एक त्वरित खोज से पता चलता है कि यह वृक्ष संरचनाओं के लिए उपयोग किया जाता है। SQL सर्वर में, आप इसी प्रकार की कार्यक्षमता प्राप्त करने के लिए सामान्य तालिका अभिव्यक्ति का उपयोग करते हैं