sql - Cross multiplication on inner joins in Access -
मेरे पास निम्न संरचना (चित्र संलग्न) के साथ पहुंच में तीन तालिकाओं हैं:
मैं एक सम्मिलित करने के लिए सभी तीन तालिकाओं से " आईडी "। तालिका 3 में वास्तव में प्रत्येक आईडी के लिए कई रिकॉर्ड हैं, जबकि "तालिका 2" में प्रत्येक आईडी के लिए सिर्फ एक रिकॉर्ड है कुछ कारणों से क्वेरी का परिणाम इस प्रकार है: तालिका 3 में आईडी के लिए सही राशि और तालिका 2 में मान के लिए पार उत्पाद (मान लें कि तालिका 3 में आईडी # 1 के तीन उदाहरण हैं: मुझे वास्तविक डेटा में 800 मिलेगा (तालिका 3) और मुझे बजट डाटा में 3000 मिलेगा, जो तालिका 3 में आईडी # 1 के लिए रिकॉर्ड की संख्या का 1000 गुना है)। यह क्रॉस गुणा क्यों होता है यदि मैं टेबल 2 और तालिका 3 में आईडी पर तालिका 1 में शामिल हो गया है? धन्यवाद आप इसे उप क्वेरी का उपयोग करके निम्न के रूप में हल कर सकते हैं।
SELECT A.Id, A.OpenDate, A.CloseDate, B.BudgetData, (SELECT एसएम (सी। वास्तविक डटा) तालिका 3 सी से WHERE C.Id = A.Id) टेबल 1 से एक वास्तविक डेटा तालिका 1 बी पर शामिल करें A.Id = बीआईडी
Comments
Post a Comment