एक्सेस - एसक्यूएल, एमएस-एक्सेस, अलग-अलग कॉलम के साथ एक क्वेरी में व्यक्तिगत विशिष्ट कॉलम चुनें

पृष्ठभूमि: मैं एक एमएस एक्सेस में एक क्वेरी बना रहा हूं।मेरी समस्या यह है कि मेरे पास एक तालिका है जो एक कार्रवाई का प्रारंभ समय, उपयोगकर्ता शामिल, प्रश्न में आइटम और लेनदेन का प्रकार रिकॉर्ड करता है। प्रत्येक घटना के लिए इस घटना के चार स्टांपिंग हैं, प्रत्येक आइटम के लिए दो और प्रत्येक प्रकार के लिए दो: नीचे तालिका

डेटा की तालिका

मैं क्वेरी बनाना चाहता हूं जो प्रत्येक प्रारंभकर्ता के लिए उपयोगकर्ता और प्रत्येक मिलान आइटम के साथ एक रिकॉर्ड प्रदर्शित करता है। हालाँकि, यह एक मूल उदाहरण है कि अधिक उपयोगकर्ता, आइटम या प्रकार हो सकते हैं।

वर्तमान में मेरे पास जो क्वेरी है, वह इसके परिणामों के साथ नीचे है:

SELECT DISTINCT (CIN.StartTime), CIN.User, CIN.Item, CIN2.Item
FROM Query2 AS CIN INNER JOIN Query2 AS CIN2 ON CIN.StartTime = CIN2.StartTime
WHERE (((CIN.Item)<>"" And (CIN.Item)<>[CIN2].[Item]) AND ((CIN.Type)="ITEM" Or (CIN.Type)="CALL") AND ((CIN2.Type)="ITEM" Or (CIN2.Type)="CALL"));

सवाल

जैसा कि आप देख सकते हैं कि क्वेरी करीब है, लेकिन अभी भी दो स्टैंप प्रति StartTime हैं। मूल रूप से, प्रत्येक आइटम में शामिल होने के लिए दो, प्रत्येक आइटम मूल्य को पकड़ता है और इसे दूसरे मूल्य में जोड़ता है।

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

धन्यवाद

उत्तर:

उत्तर № 1 के लिए 1

परिवर्तन And (CIN.Item)<>[CIN2].[Item]) सेवा मेरे And (CIN.Item)<[CIN2].[Item])। डुप्लिकेट जोड़ियों से आप केवल उन पंक्तियों की अनुमति देकर बचेंगे जहाँ CIN.Item ABC क्रम में CIN2.Item से पहले है।


संबंधित सवाल
सबसे लोकप्रिय