शुरू करने के लिए एक अच्छी जगह होगी:
SELECT
A.num_1, B.num_2
FROM
Smaller AS A JOIN Smaller AS B ON (A.num_1 < B.num_2)
ORDER BY A.num_1, B.num_2;
अपनी संग्रहीत प्रक्रिया के अंदर, इसे एक कर्सर में रखें, कर्सर पर पुनरावृति करें और प्रत्येक पंक्ति के लिए INSERT IGNORE करें। यानी:
DECLARE num1,num2 INT;
DECLARE done DEFAULT 0;
DECLARE mycursor CURSOR FOR SELECT # use the select above, im lazy here
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN mycursor;
my_loop: LOOP
FETCH mycursor INTO num1, num2;
IF done THEN
LEAVE my_loop;
END IF;
INSERT IGNORE INTO Smaller VALUES (num1,num2);
END LOOP;
आपके अद्यतन प्रश्न का उत्तर देने के लिए, यदि आप अद्वितीय पंक्तियों के बीच संबंधों के माध्यम से जुड़े हुए हैं तो पूरी तरह से सुनिश्चित नहीं हैं (आपको इस संबंध को संग्रहीत करने के लिए दो कॉलम की आवश्यकता होगी, इसलिए यह काफी समान होगा)। या यदि आपका मतलब है कि आपके पास एक तालिका है जिसमें सभी संख्याएं हैं, और दूसरी दो स्तंभ तालिका है जिसमें पहली तालिका की पंक्तियों के बीच संबंध हैं।
या, अंत में, यदि आप एक तालिका चाहते हैं जिसमें केवल "1-2", "1-3" आदि के साथ तार हों। यदि ऐसा है, तो मैं इसे दो अलग-अलग कॉलम के रूप में रखूंगा और जब आप मतदान करेंगे तो CONCAT का उपयोग करके उन्हें स्ट्रिंग के रूप में आउटपुट करेंगे। टेबल :)