Consulta SQL SQL con tabla
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;
Al utilizar la consulta anterior, obtengo la salida de abajo.
USER_ID | PRODUCT_ID | TIMESTAMPS
------------+------------------+-------------
1015826235 220003038067 1004841621
1015826235 300003861266 1005268799
1015826235 140002997245 1061569397
1015826235 *200002448035* 1005542471
Si comparas lo anterioroutput from the query with the below Table2 data
, entonces elproduct_id
en ellast line of above output
no coincide con elITEM_ID
en la ultima linea de abajoTable2
datos.
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
Así que mi pregunta es
Encontrar todos esosPRODUCT_ID(ITEM_ID)
yTIMESTAMPS(CREATED_TIME)
que no coinciden conTable2
datos correspondientes a un BUYER_ID particular o USER_ID.
Así que necesito mostrar el resultado como este para el ejemplo anterior-
BUYER_ID | ITEM_ID | CREATED_TIME | USER_ID | PRODUCT_ID | TIMESTAMPS
-----------+-------------------+-------------------------+---------------+------------------+------------------
1015826235 *210002448035* 2001-11-11 22:21:11 1015826235 *200002448035* 1005542471
Necesito UNIRME a la consulta anterior que escribí con table2 para obtener el resultado anterior. Así que necesito usar mi consulta anterior en el proceso de UNIRSE. Eso me está confundiendo mucho. Cualquier sugerencia será apreciada.
ACTUALIZAR:-
Escribí la siguiente consulta, pero de alguna manera no puedo lograr el resultado que quería lograr. Puede alguien ayudarme con esto?
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));