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

हालाँकि, कभी-कभी, केवल एक तालिका में एक निश्चित कोड दिखाई देता है, लेकिन थोड़ी देर बाद (जब कोई एक्सेल स्प्रेडशीट को अपडेट करता है), तो वह कोड दिखाई देता है।

मेरे पास पहले से ही एक क्वेरी है जो यह तुलना करती है, लेकिन यह उन कोडों के लिए काम नहीं करता है जो तालिका में पेश किए गए हैं तुलना के बाद पहले ही किया जा चुका है।

इसलिए, मैं एक क्वेरी बनाना चाहता हूं जो अद्यतन का उपयोग करता है, यह जांचता है कि दिया गया कोड अब दोनों तालिकाओं में है, और यदि ऐसा है, तो यह मेरी तालिका के तुलना कॉलम को अपडेट करेगा।

यह वह प्रश्न है जिसे मैंने इसके लिए बनाया है, लेकिन यह काम नहीं कर रहा है:

UPDATE 

  comparationTable

SET 

  col_comp = IIf(spreadSheet1.code = spreadSheet2.code),"Yes","******No******")

WHERE 

  code1 = code2;

नोट: कोड1 और कोड2 ऐसे कॉलम हैं जो केवल एक्सेल स्प्रेडशीट1 और एक्सेल स्प्रेडशीट2 से आने वाले कोड को दिखाते हैं।

संपादित करें: यहां दो स्प्रैडशीट (sp1, sp2) और तुलना तालिका की छवियां दी गई हैं: sp1

sp2

comparation Table

1
Req_7 14 जून 2020, 18:46

1 उत्तर

सबसे बढ़िया उत्तर

बहुत सारे कोष्ठक - हमेशा जोड़े में होने चाहिए। फ़ील्ड नाम सही नहीं हैं. WHERE क्लॉज उपयुक्त नहीं है - कोड2 में बिना वैल्यू वाले रिकॉर्ड किसी भी वैल्यू के साथ अपडेट नहीं होंगे।

UPDATE comparationTable SET col_comp2 = IIf(code1 = code2, "Yes", "******No******")

0
June7 14 जून 2020, 17:46