मेरे पास एक नया एसक्यूएल संबंधित प्रश्न है।एसक्यूएल उसी तालिका में क्वेरी का चयन करें
A B
------ ------
a b
a c
b a
m n
m o
n m
मैं रिकॉर्ड "समकक्षों" केवल, यानी मैं केवल तभी है तालिका में b a
a b
प्राप्त करना चाहते हैं, लेकिन मैं के लिए क्वेरी करने के लिए करना चाहते हैं:
चलो कहते हैं कि मैं इस साधारण तालिका डालते हैं "बैक लिंक" को छोड़ना चाहते हैं (जो यहां b a
है)। योग करने के लिए मैं निम्नलिखित परिणाम
A B
------ ------
a b
m n
के बाद से मामले b a
में a b
नियंत्रित किया जाता है मेरी परिणाम सेट से निकाल दिया जाता है इस एसक्यूएल क्वेरी काम नहीं करता प्राप्त करना चाहते हैं।
SELECT DISTINCT x1.A, x1.B
FROM TEST x1, TEST x2
WHERE x1.A = x2.B AND x1.B = x2.A -- all records /w counterparts only
AND x1.A NOT IN (SELECT B from TEST where B = x1.A) -- skip the "back links"
WHERE क्लॉज का दूसरा भाग वांछित के रूप में काम नहीं करता है।
क्या आपके पास कोई संकेत है? इसके लिए कोई भी सहायता अति सराहनीय होगी।
संबंध पीटर
पी.एस. मैं डर्बी डीबी का उपयोग कर रहा हूँ।
'बी ए'' बी 'का एक बैक लिंक है। लेकिन 'बी' भी 'बी ए 'का एक बैक लिंक है। आप कैसे चुनना चाहते हैं कि कौन सा रखना है और कौन सा छोड़ना है? – fthiella
लेकिन कैसे पता चले कि सही उत्तर क्या है (ऑर्डर)? क्यों नहीं बी और एन एम या बी ए और एन मीटर? – Justin