Vergleichen zweier Tabellen mithilfe von SQL-JOIN

Dies ist Table1 Daten.

USER_ID     |    PRODUCT_ID    |   TIMESTAMPS
------------+------------------+-------------
1015826235       220003038067     *1004941621*
1015826235       300003861266      1005268799
1015826235       140002997245      1061569397
1015826235      *210002448035*     1005542471

Vergleicht man die Table1 Daten mit der unten Table2 Daten, dann die PRODUCT_ID in der letzten Zeile Table1 Daten nicht in übereinstimmung mit den ITEM_ID in der letzten Zeile in der unten Table2 Daten und auch gleich mit TIMESTAMPS in der ersten Zeile der Table1 Daten nicht in übereinstimmung mit CREATED_TIME in der ersten Zeile der Table2 Daten.

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      *200002448035*       2001-11-11 22:21:11

Also muss ich zeigen das Ergebnis, wie dies für das obige Beispiel nach dem EINTRITT in Tabelle1 mit Tabelle2 - Entweder von der unten output ist in Ordnung für mich.

BUYER_ID    |     ITEM_ID       |    CREATED_TIME         |    PRODUCT_ID     |       TIMESTAMPS
------------+-------------------+-------------------------+-------------------+-----------------
1015826235       220003038067       *2001-11-03 19:40:21*      220003038067       *1004941621*
1015826235      *200002448035*       2001-11-11 22:21:11      *210002448035*       1005542471

ODER

BUYER_ID   |     ITEM_ID       |    CREATED_TIME         |     USER_ID      |       PRODUCT_ID     |   TIMESTAMPS
-----------+-------------------+-------------------------+------------------+----------------------+------------------
1015826235       220003038067       *2001-11-03 19:40:21*      1015826235           220003038067       *1004941621*
1015826235      *200002448035*       2001-11-11 22:21:11       1015826235          *210002448035*       1005542471

Jede Hilfe wird geschätzt.

UPDATE:-

select * from (select * 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 LEFT OUTER 
JOIN table2 ON ( prod_and_ts.user_id = table2.buyer_id AND table2.item_id =
prod_and_ts.product_id AND prod_and_ts.timestamps = UNIX_TIMESTAMP
(table2.created_time) ) where table2.buyer_id IS NULL) set_a LEFT OUTER JOIN
table2 ON (set_a.user_id = table2.buyer_id AND  ( set_a.product_id = 
table2.item_id OR set_a.timestamps = UNIX_TIMESTAMP(table2.created_time) ));
  • Haben Sie sich nicht schon diese Frage stellst...? SQL-Abfrage-JOIN mit Tabelle
  • Ich fragte dann aber, dass ich die Buchung Tabelle1 als eine separate SQL-Abfrage, aber hier habe ich vereinfacht es noch mehr, indem Sie die "Tabelle1" und " Tabelle2 als getrennt, so dass die Leute nicht verwirrt werden.
  • Dann würde ich löschen Sie Ihre Vorherige Frage, oder Sie werden riskieren diese Frage geschlossen als exaktes Duplikat.
  • Sie können löschen Sie meine Vorherige Frage, wenn Sie wollen. Und halten dies als eine neue, als dieser ist genauer und sauberer zu verstehen, was ich will.
InformationsquelleAutor arsenal | 2012-07-09
Schreibe einen Kommentar