दो तालिकाओं (table1, table2) के साथ एक ही स्तंभ नाम (पीढ़ी, माता-पिता), वांछित उत्पादन के लिए किया जाएगा के संयोजन के सभी स्तंभों के दोनों तालिकाओं. जिससे पंक्तियों के table2 में शामिल होने चाहिए table1 इतना है कि पंक्तियों के table2 मिलान कर रहे हैं उन लोगों के table1 पर पीढ़ी स्तंभ । माता पिता की संख्या का आदेश दिया जाना चाहिए आरोही के लिए प्रविष्टियों में table1 के रूप में अच्छी तरह के रूप में table2. पंक्तियों की संख्या क्वेरी के परिणाम के बराबर होना चाहिए की उन के table1.
दिए गए निम्न तालिकाओं
table1:
| generation | parent |
|:----------:|:------:|
| 0 | 1 |
| 0 | 2 |
| 0 | 3 |
| 1 | 3 |
| 1 | 2 |
| 1 | 1 |
| 2 | 2 |
| 2 | 1 |
| 2 | 3 |
table2:
| generation | parent |
|:----------:|:------:|
| 1 | 3 |
| 1 | 1 |
| 1 | 3 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
निम्नलिखित प्रश्नों लगा रहे हैं बनाने के लिए और populating दो नमूना तालिकाओं के ऊपर के रूप में दिखाया:
create table table1(generation integer, parent integer);
insert into table1 (generation, parent) values(0,1),(0,2),(0,3),(1,3),(1,2),(1,1),(2,2),(2,1),(2,3);
create table table2(generation integer, parent integer);
insert into table2 (generation, parent) values(1,3),(1,1),(1,3),(2,1),(2,2),(2,3);
कल्पना की क्वेरी के लिए नेतृत्व चाहिए के बाद वांछित परिणाम:
| table1_generation | table1_parent | table2_generation | table2_parent |
|:-----------------:|:-------------:|:-----------------:|:-------------:|
| 0 | 1 | | |
| 0 | 2 | | |
| 0 | 3 | | |
| 1 | 1 | 1 | 1 |
| 1 | 2 | 1 | 3 |
| 1 | 3 | 1 | 3 |
| 2 | 1 | 2 | 1 |
| 2 | 2 | 2 | 2 |
| 2 | 3 | 2 | 3 |
वर्तमान क्वेरी लग रहा है के रूप में इस प्रकार है:
with
p as (
select
generation,
parent
from
table1
order by
generation,
parent
), o as(
select
generation,
parent
from
table2
order by
generation,
parent
)
select
p.generation as table1_generation,
p.parent as table1_parent,
o.generation as table2_generation,
o.parent as table2_parent
from
p
left join o on
o.generation=p.generation;
की ओर जाता है जो करने के लिए निम्नलिखित परिणाम:
| table1_generation | table1_parent | table2_generation | table2_parent |
|:-----------------:|:-------------:|:-----------------:|:-------------:|
| 0 | 1 | | |
| 0 | 2 | | |
| 0 | 3 | | |
| 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 3 |
| 1 | 1 | 1 | 3 |
| 1 | 2 | 1 | 1 |
| 1 | 2 | 1 | 3 |
| 1 | 2 | 1 | 3 |
| 1 | 3 | 1 | 1 |
| 1 | 3 | 1 | 3 |
| 1 | 3 | 1 | 3 |
| 2 | 1 | 2 | 1 |
| 2 | 1 | 2 | 2 |
| 2 | 1 | 2 | 3 |
| 2 | 2 | 2 | 1 |
| 2 | 2 | 2 | 2 |
| 2 | 2 | 2 | 3 |
| 2 | 3 | 2 | 1 |
| 2 | 3 | 2 | 2 |
| 2 | 3 | 2 | 3 |
इस लिंक करने के लिए नेतृत्व निष्कर्ष है कि, किसी भी शामिल होने के आदेश हो सकता है नहीं क्या आवश्यक है यहाँ ... लेकिन संघ करता है केवल संलग्न पंक्तियाँ... मेरे लिए तो यह बिल्कुल स्पष्ट नहीं है, कैसे वांछित परिणाम हासिल किया जा सकता हे.हे
किसी भी मदद की बहुत सराहना की है । अग्रिम में धन्यवाद!