sql >> Database >  >> NoSQL >> MongoDB

Atomaire samenvoeging op rijniveau VERVANGEN in BigQuery

INSERT wordt ondersteund door BigQuery DML

bijvoorbeeld

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   

dus je zou goed moeten zijn om te gaan met je ETL

Ok, ik begrijp het - ik denk dat MERGE in dit geval niet van toepassing is omdat INSERT ALLEEN kan worden gedaan voor de NOT MATCH-clausule. Iemand kan erachter komen hoe MERGE in dit geval kan werken, maar intussen doet onderstaande oplossing wat je wilt bereiken - ik denk het wel :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. Hoe het n-de element van de array in mongodb te verwijderen

  2. mongoDB array paginering

  3. MongoDB-query met een 'of'-voorwaarde

  4. mongodb query-subset van een array