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

Итак, мой вопрос

Найдите все те PRODUCT_ID(ITEM_ID)и TIMESTAMPS(CREATED_TIME), которые не совпадают с данными Table2, соответствующими конкретному ID ПОКУПАТЕЛЯ _или ID ПОЛЬЗОВАТЕЛЯ _.

Поэтому мне нужно показать такой результат для приведенного выше примера-

BUYER_ID   |     ITEM_ID       |      CREATED_TIME       |     USER_ID   |       PRODUCT_ID     |   TIMESTAMPS
-----------+-------------------+-------------------------+---------------+------------------+------------------
1015826235     *210002448035*       2001-11-11 22:21:11     1015826235      *200002448035*     1005542471

Мне нужно ПРИСОЕДИНИТЬСЯ к вышеуказанному запросу, который я написал с таблицей 2, чтобы получить вышеуказанный результат. Поэтому мне нужно использовать мой запрос выше в процессе JOINING. Это меня очень смущает. Любое предложение будет оценено.

ОБНОВЛЕНИЕ:-

Я написал приведенный ниже запрос, но почему-то не могу добиться того, чего хотел. Кто-нибудь может мне с этим помочь?

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));
5
задан HLGEM 11 July 2012 в 14:19
поделиться