2010-11-11 15 views
19

क्या कोई जानता है कि एन पंक्तियों की तालिका से एम कॉलम के साथ तालिका कैसे बनाएं, जहां प्रत्येक पंक्ति के कॉलम में मान मूल तालिका से मूल्यों के अलग संयोजन या क्रमपरिवर्तन का प्रतिनिधित्व करते हैं?एम कॉलम में एन पंक्तियों के क्रमपरिवर्तन या संयोजन कैसे उत्पन्न करें?

1 
2 
3 

तालिका जो दो मानों का संयोजन (क्रम आवश्यक नहीं है) शामिल हैं (एम =:

उदाहरण के लिए मूल तालिका 1 स्तंभ (NUMBER_VALUE) के साथ 3 (n = 3) पंक्तियां हैं 2) होगा निम्नलिखित:

number1, number2 
1,2 
1,3 
2,3 

और क्रमपरिवर्तन की मेज होगा निम्नलिखित:

number1, number2 
1, 2 
2, 1 
1, 3 
3, 1 
2, 3 
3, 2 

पंक्तियों का क्रम कोई फर्क नहीं पड़ता।

अग्रिम धन्यवाद!

उत्तर

29

युग्म:

SELECT T1.x, T2.x 
FROM your_table T1 
JOIN your_table T2 
ON T1.x < T2.x 

परम्युटेशन्स:

SELECT T1.x, T2.x 
FROM your_table T1 
JOIN your_table T2 
ON T1.x != T2.x 

मैं यह सोचते हैं कि मूल तालिका के मान अद्वितीय हैं।

एम के बड़े मूल्यों के लिए सामान्यीकृत करने के लिए आपको और जुड़ने की आवश्यकता है।

+0

निको की समस्या के सामान्य समाधान की तरह दिखता है, जहां उसे स्वयं के साथ एक टेबल पर शामिल होने की आवश्यकता होती है। टी 2 = टी 1। – hobs

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