SQL-запрос JOIN с таблицей
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;
Используя приведенный выше запрос, я получаю вывод ниже.
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
тогдаproduct_id
вlast line of above output
не совпадает с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
So my question is
Найти все эти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
Мне нужно присоединиться к вышеупомянутому запросу, который я написал с таблицей2, чтобы получить вышеуказанный результат. Поэтому мне нужно использовать мой запрос выше в процессе присоединения. Это меня сильно смущает. Любое предложение будет оценено.
UPDATE:-
Я написал приведенный ниже запрос, но каким-то образом я не смог добиться результата, которого я хотел достичь. Кто-нибудь может мне с этим помочь?
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));