sql >> Databáze >  >> NoSQL >> MongoDB

Řádek na úrovni atomů MERGE REPLACE v BigQuery

INSERT je podporován BigQuery DML

například

MERGE dataset.Inventory T
USING dataset.NewArrivals S
ON FALSE
WHEN NOT MATCHED AND product LIKE '%washer%' THEN
  INSERT (product, quantity) VALUES(product, quantity)
WHEN NOT MATCHED BY SOURCE AND product LIKE '%washer%' THEN
  DELETE   

takže byste měli jít se svým ETL

Dobře, rozumím - myslím, že v tomto případě se MERGE nepoužije, protože INSERT lze provést POUZE pro klauzuli NOT MATCH. Někdo by mohl přijít na to, jak v tomto případě oklamat MERGE, ale mezitím níže uvedené řešení dělá to, čeho chcete dosáhnout - myslím, že ano :o)

CREATE OR REPLACE TABLE `project.dataset.user_q` (user_id INT64, q STRING) AS
SELECT * FROM `project.dataset.user_q`
WHERE NOT user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q_incoming`)
UNION ALL
SELECT * FROM `project.dataset.user_q_incoming`
WHERE user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q`)


  1. MongoDB java driver 3.0 nemůže zachytit výjimku při ověřování

  2. Stahování souborů nefunguje s nodejs gridfs

  3. Mohu číst soubor csv uvnitř souboru Javascript Mongo Shell?

  4. Dotaz na umístění v okruhu v MongoDB