के आधार पर दो टेबल्स में शामिल होने के लिए एसक्यूएल क्वेरी एसक्यूएल में दो टेबल हैं और मुझे तालिका बी में टाइमस्टैम्प के आधार पर शामिल होने में सक्षम होना चाहिए जो तालिका ए में टाइमस्टैम्प से पहले या उसके बराबर है।क्लोजेस्ट टाइमस्टैम्प
तो, यहाँ दो तालिकाओं के लिए कुछ नकली डेटा और वांछित आउटपुट है:
बंद मामले (तालिका A)
| id | resolution | timestamp | ------------------------------------------------ | 1 | solved | 2006-10-05 11:55:44.888153 | | 2 | closed | 2007-10-07 12:34:17.033498 | | 3 | trashed | 2008-10-09 08:19:36.983747 | | 4 | solved | 2010-10-13 04:28:14.348753 |
वर्गीकरण (तालिका बी)
| id | value | timestamp | ------------------------------------------------- | 1 | freshman | 2006-01-01 12:02:44.888153 | | 2 | sophomore | 2007-01-01 12:01:19.984333 | | 3 | junior | 2008-01-01 12:02:28.746149 |
वांछित परिणाम
| id | resolution | timestamp | value | -------------------------------------------------------------- | 1 | solved | 2006-10-05 11:55:44.888153 | freshman | | 2 | closed | 2007-10-07 12:34:17.033498 | sophomore | | 3 | trashed | 2008-10-09 08:19:36.983747 | junior | | 4 | solved | 2010-10-13 04:28:14.348753 | junior |
तो, मैं जानता हूँ कि कोड निम्नलिखित की तरह लग रहे करने की जरूरत है, मैं बस को समझ नहीं सकता क्या की ON
भाग के साथ क्या करना JOIN
($ 1
SELECT case.id, case.resolution, case.timestamp, class.value
FROM closed_cases AS case
LEFT JOIN classifications AS class ON ???
WHERE case.timestamp BETWEEN $1 AND $2;
मुझे लगता है मैं एक उप का चयन है, लेकिन इस पर पर काम किया जाएगा le इस्तेमाल कर सकते हैं पता है: और $ 2 चर में पारित हो जाएगा) कर रहे हैं कुछ हजार पंक्तियां, शायद अधिक, और मुझे वास्तव में तेज़ होने की आवश्यकता है; तो मैं एक साधारण खंड की उम्मीद कर रहा था जो इसे कर सकता था।
मुझे लगता है कि आप अपने उप चयन की आवश्यकता होगी। क्या आपने प्रदर्शन का परीक्षण किया है और इसे अस्वीकार्य पाया है? – Beth
यदि आप जिस SQL का उपयोग कर रहे हैं उसका संस्करण विश्लेषणात्मक कार्यों को विंडो करने में सहायता करता है तो आप इसे उप-चयन के बिना करने में सक्षम होना चाहिए, लेकिन SQL के कुछ संस्करण उन्हें समर्थन नहीं देते हैं। कुछ हजार पंक्तियों पर एक उप-चयन के लिए, प्रदर्शन बहुत खराब नहीं होना चाहिए। (उप-चयन वर्गीकरण तालिका पर होगा - क्या इसमें वास्तव में कुछ हजार पंक्तियां होंगी?) –
@ मार्क - असल में, इसके बारे में सोचने के लिए आओ, वर्गीकरण तालिका के मुकाबले कम पंक्तियां होनी चाहिए यह देखने के लिए जांचें कि डेटा वास्तव में सबसे वर्तमान संस्करण से बदल गया है या नहीं।तो मुझे लगता है कि उप-चयन सिर्फ ठीक काम करेगा, लेकिन मुझे लगता है कि अंत समय जोड़ना एक बहुत साफ समाधान है। –