select user_id, prod_and_ts.product_id as product_id, prod_and_ts.timestamps as
timestamps from testingtable2 LATERAL VIEW explode(purchased_item) exploded_table
as prod_and_ts;
उपर्युक्त क्वेरी का उपयोग करके, मुझे नीचे आउटपुट मिल रहा है।तालिका क्वेरी के साथ SQL क्वेरी जॉइन
USER_ID | PRODUCT_ID | TIMESTAMPS
------------+------------------+-------------
1015826235 220003038067 1004841621
1015826235 300003861266 1005268799
1015826235 140002997245 1061569397
1015826235 *200002448035* 1005542471
आप ऊपर output from the query with the below Table2 data
की तुलना करें, तो last line of above output
में product_id
ITEM_ID
साथ अंतिम पंक्ति में नीचे Table2
डेटा में मिलान नहीं है।
BUYER_ID | ITEM_ID | CREATED_TIME
-------------+-------------------+------------------------
1015826235 220003038067 2001-11-03 19:40:21
1015826235 300003861266 2001-11-08 18:19:59
1015826235 140002997245 2003-08-22 09:23:17
1015826235 *210002448035* 2001-11-11 22:21:11
तो मेरे सवाल है
खोजें उन सभी PRODUCT_ID(ITEM_ID)
और TIMESTAMPS(CREATED_TIME)
कि Table2
डेटा विशेष BUYER_ID या USER_ID करने के लिए इसी के साथ मिलान नहीं कर रहे हैं।
तो मैं ऊपर उदाहरण
BUYER_ID | ITEM_ID | CREATED_TIME | USER_ID | PRODUCT_ID | TIMESTAMPS
-----------+-------------------+-------------------------+---------------+------------------+------------------
1015826235 *210002448035* 2001-11-11 22:21:11 1015826235 *200002448035* 1005542471
मैं ऊपर क्वेरी कि मैं table2 के साथ लिखा था ऊपर परिणाम प्राप्त करने के शामिल होने की आवश्यकता के लिए इस तरह परिणाम दिखाने की जरूरत है। तो मुझे जॉइनिंग प्रक्रिया में मेरी उपर्युक्त क्वेरी का उपयोग करने की आवश्यकता है। यह मुझे बहुत भ्रमित कर रहा है। सभी सुझावों का स्वागत है।
अद्यतन: -
मैं नीचे क्वेरी लिखा था, लेकिन किसी भी तरह मैं उत्पादन है कि मैं प्राप्त करने के लिए चाहता था प्राप्त करने में सक्षम नहीं हूँ। क्या कोई मुझे इस बारे में सहायता कर सकता है?
SELECT table2.buyer_id, table2.item_id, table2.created_time from
(select user_id, prod_and_ts.product_id as product_id, prod_and_ts.timestamps as
timestamps from testingtable2 LATERAL VIEW explode(purchased_item) exploded_table
as prod_and_ts) prod_and_ts JOIN table2 where
prod_and_ts.user_id = table2.buyer_id
and (product_id <> table2.item_id or
timestamps <> UNIX_TIMESTAMP(table2.created_time));
मैं हाइव के साथ काम कर रहा हूं, और हाइव एसक्यूएल को सिंटैक्स की तरह समर्थन करता है इसलिए यही कारण है कि मैं इस प्रश्न को 'एसक्यूएल' और 'जॉइन' के रूप में टैग करता हूं। तो जॉइन में काम करेंगे जॉइन। मुझे बस मूल रूप से जुड़ने की जरूरत है। तो मुझे लगता है कि ओरेकल वाक्यविन्यास ठीक रहेगा। – ferhan
अंतिम पंक्ति क्यों मेल नहीं खाती है? क्या यह टाइमस्टैम्प की वजह से निर्मित समय से मेल नहीं खाता है? – dash
मुझे यकीन नहीं है कि मैंने जो वास्तविक क्वेरी लिखा है वह सही है या नहीं। यह मुझे बहुत भ्रमित कर रहा है। तो सुनिश्चित नहीं है कि उपरोक्त क्वेरी सही है या नहीं। – ferhan