मैं कुछ अजीब डेटा के साथ काम कर रहा हूँ। मैं कॉलम के साथ अद्वितीय रिकॉर्ड की पहचान करना चाहता हूं जिसमें कई से कई रिश्ते हैं जैसे नीचे उदाहरण में। कॉलम बी शून्य हो सकता है, कॉलम ए गैर-शून्य है:

Data

आउटपुट 2 अद्वितीय मान होना चाहिए। A और B (1,A), (1,B), (1,null), (2,B) के संयोजन केवल एक अद्वितीय इकाई हैं और शेष दूसरी अनूठी इकाई हैं।

संपादित करें: मेरी आवश्यकता सिर्फ अलग-अलग मान नहीं ढूंढ रही है। कल्पना कीजिए कि यह उपयोगकर्ता सत्रों की तरह है - उपयोगकर्ता ए के कई सत्र हो सकते हैं, लेकिन वे अलग-अलग लॉग इन (जैसे बी) के साथ लॉग इन कर सकते हैं और एक ही सत्र आईडी (1) और इसके विपरीत हो सकते हैं। मैं सत्र के आधार पर अद्वितीय उपयोगकर्ताओं की पहचान करना चाहता हूं और लॉग इन करना चाहता हूं जहां सत्र और लॉग इन हो सकते हैं n:n

0
jungtae 30 मार्च 2020, 06:18
क्या आप अद्वितीय रिकॉर्ड लाने के लिए क्वेरी लिखना चाहते हैं?
 – 
Somendra Kanaujia
30 मार्च 2020, 06:53

2 जवाब

क्या ये वही है जो तुम चाहते हो?

select distinct a, b
from t
where not exists (select 1
                  from t t2
                  where t2.id = t.id and
                        t2.b not in ('A', 'B')
                 );

यह उन id का चयन करता है जिनमें दूसरे कॉलम में केवल 'A', 'B', या NULL मान हैं।

0
Gordon Linoff 30 मार्च 2020, 14:53
प्रश्नों का संपादन किया। मैं 2 कॉलम के संयोजन के आधार पर अद्वितीय रिकॉर्ड की पहचान करना चाहता हूं - उपयोगकर्ता सत्र और लॉग इन आईडी जहां दोनों n: n हो सकते हैं और मैं अद्वितीय व्यक्तियों की पहचान करना चाहता हूं
 – 
jungtae
30 मार्च 2020, 17:48

आप SQLITE3 का उपयोग करके ऐसा कर सकते हैं:

SELECT DISTINCT(ColumnA || Column B)
FROM Table;

MYSQL के लिए मुझे लगता है कि यह है:

SELECT CONCAT(ColumnA, ColumnB)
FROM Table;

मुझे यकीन नहीं है कि आप शून्य मानों को कैसे आउटपुट करना चाहते हैं। आपके पास 2 विकल्प हैं:

  1. यदि A का मान शून्य है और B का मान है, तो आउटपुट B
  2. यदि A का मान शून्य है और B का मान है, तो आउटपुट nullB

विकल्प 1 के लिए ऊपर दिए गए कोड का उपयोग करें। विकल्प 2 के लिए, आपको 'null' टेक्स्ट से सभी अशक्त मानों को बदलने के लिए columnA डेटाबेस को अपडेट करना होगा।

0
Jordan Starrk 30 मार्च 2020, 07:43