जब मैं SQL वाक्यविन्यास की बात करता हूं तो मैं नोब हूं।मैं 2 चयन विवरणों को एक में कैसे जोड़ूं?
मैं और पंक्तियों के बहुत निश्चित रूप से कॉलम युक्त तालिका है:
AAA BBB CCC DDD
-----------------------
Row1 | 1 A D X
Row2 | 2 B C X
Row3 | 3 C D Z
अब मैं एक उन्नत का चयन बयान है कि मुझे इस संयुक्त (छद्म SQLish देता है बनाना चाहते हैं: पी कहते हैं कि यह इस तरह दिखता है की सुविधा देता है यहाँ):
select 'Test1', * from TABLE Where CCC='D' AND DDD='X'
select 'Test2', * from TABLE Where CCC<>'D' AND DDD='X'
उत्पादन होगा:
Test1, 1, A, D, X
Test2, 2, B, C, X
मैं उन दो चुनिंदा वक्तव्यों को एक अच्छे चयन कथन में कैसे जोड़ूं?
क्या यह काम करेगा यदि मैंने नीचे SQL की जटिलता की है (क्योंकि मेरे स्वयं के SQL कथन में एक मौजूदा कथन है)? मैं सिर्फ यह जानना चाहता हूं कि मैं चयनों को कैसे जोड़ सकता हूं और फिर इसे अपने कुछ और उन्नत एसक्यूएल पर लागू करने का प्रयास करता हूं।
select Status, * from WorkItems t1
where exists (select 1 from workitems t2 where t1.TextField01=t2.TextField01 AND (BoolField05=1))
AND TimeStamp=(select max(t2.TimeStamp) from workitems t2 where t2.TextField01=t1.TextField01)
AND TimeStamp>'2009-02-12 18:00:00'
जो मुझे एक परिणाम देता है:
select 'Test1', * from TABLE Where CCC='D' AND DDD='X' AND exists(select ...)
select 'Test2', * from TABLE Where CCC<>'D' AND DDD='X' AND exists(select ...)
मेरा असली SQL विवरण इस एक है। लेकिन मैं इसे एक अतिरिक्त और अंत में इस चयन कथन की एक प्रति के साथ जोड़ना चाहता हूं और 'स्थिति' फ़ील्ड को 'हटाया गया' जैसी स्ट्रिंग के साथ बदल दिया जाएगा।
select 'DELETED', * from WorkItems t1
where exists (select 1 from workitems t2 where t1.TextField01=t2.TextField01 AND (BoolField05=1))
AND TimeStamp=(select max(t2.TimeStamp) from workitems t2 where t2.TextField01=t1.TextField01)
AND TimeStamp>'2009-02-12 18:00:00'
AND NOT (BoolField05=1)
+1 जो एक बेहद अच्छी तरह से पूछे जाने वाले प्रश्न –