sql >> Database teknologi >  >> NoSQL >> MongoDB

Rækkeniveau atomisk FLÉT ERSTAT i BigQuery

INSERT understøttes af BigQuery DML

for eksempel

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   

så du burde være god til at gå med din ETL

Ok, jeg kan se - jeg tror, ​​at MERGE ikke vil gælde i dette tilfælde, da INSERT KUN kan udføres for NOT MATCH-klausulen. Nogen vil måske finde ud af, hvordan man narrer MERGE til at virke i dette tilfælde, men i mellemtiden gør nedenstående løsning, hvad du vil opnå - det tror jeg :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. Skift type felt inde i mongoDB aggregering, og bruger $lookup indeks på felter eller ej?

  2. MongoDB:forespørgsel efter et felt

  3. Har du brug for forslag til designanbefaling af kunstnere

  4. Oversættelse af sql-forespørgsel til Mongo-languague