2013-03-31 6 views
6

मैं वर्तमान में अपनी तथ्य तालिका को पॉप्युलेट करने की कोशिश कर रहा हूं और मुझे आवश्यक समय आईडी को पॉपुल करने में समस्या हो रही है। समय आयाम पूरी तरह से आबादी और पूर्ण है। मूल रूप से समय आयाम में प्रत्येक पंक्ति 15 मिनट की अवधि होती है। तथ्य तालिका कॉल के बारे में विवरण populating है। और एक स्टेजिंग कॉल टेबल में मेरे पास कॉल का प्रारंभ और समाप्ति समय है।आंतरिक दो मानों के साथ जुड़ें

मैं आयाम में शामिल होने से तथ्य तालिका को पॉप्युलेट करना चाहता हूं, समय के साथ स्टेजिंग टेबल पर और जब आयाम में टाइम_स्टार्ट स्टेजिंग में प्रारंभ और समाप्ति समय के बीच है .. मैंने क्वेरी चलाई है = ऑपरेटर का उपयोग करके नीचे लेकिन यह काम नहीं कर रहा है और केवल 100 पंक्तियों को खींचता है जब मुझे 4000 की तरह अधिक उम्मीद करनी चाहिए। क्या मैं = के बजाय BETWEEN का उपयोग कर सकता हूं?

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start 
WHERE Time_Start BETWEEN incoming_measure.StartTimeDate AND incoming_measure.EndTimeDate 

सहायता के लिए धन्यवाद।

+1

क्या आपने इसे आजमाया? आपको क्या त्रुटियां मिलीं? – Oded

+0

मुझे कोई त्रुटि नहीं मिलती है और यह समस्या को पंक्ति गणना करता है, यह मेरी पंक्ति को कम करता है जब सिद्धांत में यदि यह डेटा आईडीआईडी ​​में विभाजित होता है तो यह –

उत्तर

5

संपादित करें:

से जुड़ने का आपका गलत है। के प्रारूप अपने में शामिल होने होना चाहिए:

Select column from table A 
INNER JOIN table b on 
    A.column = B.column 
INNER JOIN table c on 
    B.column = c.column 
Where B.column Between start_date AND end_date 

आप sqlserver के लिए यह महत्वपूर्ण है

इसके अलावा < और > ऑपरेटरों का उपयोग कर सकते हैं, yyyy-mm-dd प्रारूप

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start 
WHERE Time_Start > incoming_measure.StartTimeDate AND Time_Start < incoming_measure.EndTimeDate 

तुम भी उपयोग कर सकते हैं का उपयोग करने के Between

INNER JOIN Time_Dim ON incoming_measure.StartTimeDate = Time_Start 
WHERE Time_Start Between incoming_measure.StartTimeDate AND incoming_measure.EndTimeDate 
+0

कम नहीं होने वाली राशि को बढ़ाता है, इसके लिए धन्यवाद, शीर्ष समाधान वापस लौटा किसी कारण से कोई पंक्ति नहीं है और बीच में मैं उपयोग कर रहा हूं। क्या जुड़ना हमेशा एक होना चाहिए = या यह बीटवेन हो सकता है? –

+0

@RichardC मेरा नवीनतम संपादन देखें, मुझे लगता है कि आपके शामिल होने का वाक्यविन्यास गलत है –

+0

इसके लिए चीयर्स समझ में आता है। 1 बात, मुझे 4 आंतरिक मिलते हैं, क्या मैं सभी जोड़ों को एक दूसरे के बाद रखता हूं और फिर सभी कहां और अंत में? –

संबंधित मुद्दे