BigQuery non sembra avere il supporto per UNION ancora: https://developers.google.com/bigquery/docs/query-referenceSupporta la funzione UNION in BigQuery SQL
(.. Non voglio dire unioning tavoli insieme per la fonte che Ha)
E ' Prossimamente?
BigQuery non sembra avere il supporto per UNION ancora: https://developers.google.com/bigquery/docs/query-referenceSupporta la funzione UNION in BigQuery SQL
(.. Non voglio dire unioning tavoli insieme per la fonte che Ha)
E ' Prossimamente?
Se volete UNION in modo che è possibile combinare i risultati delle query, si può usare subselect in BigQuery:
SELECT foo, bar
FROM
(SELECT integer(id) AS foo, string(title) AS bar
FROM publicdata:samples.wikipedia limit 10),
(SELECT integer(year) AS foo, string(state) AS bar
FROM publicdata:samples.natality limit 10);
Questo è quasi esattamente equivalente a SQL
SELECT id AS foo, title AS bar
FROM publicdata:samples.wikipedia limit 10
UNION ALL
SELECT year AS foo, state AS bar
FROM publicdata:samples.natality limit 10;
(si noti che, se desidera SQL UNION e non UNION TUTTO questo non funzionerà)
In alternativa, è possibile eseguire due query e aggiungere il risultato.
I sindacati sono effettivamente supportati. Un estratto dal link che hai postato:
Nota: Diversamente da molti altri sistemi basati su SQL, BigQuery utilizza la sintassi della virgola per indicare i join di tabella, non i join. Ciò significa che è possibile eseguire una query su più tabelle con schemi compatibili come segue:
// Trova le attività sospette di diversi giorni
SELECT FORMAT_UTC_USEC(event.timestamp_in_usec) AS time, request_url
FROM [applogs.events_20120501], [applogs.events_20120502], [applogs.events_20120503]
WHERE event.username = 'root' AND NOT event.source_ip.is_internal;
Questo si riferisce alle tabelle di unione per la fonte. Questa è la caratteristica che ho menzionato specificamente in quanto non è ciò di cui ho bisogno. – mdahlman
Ah capisco. Inizialmente non ho capito cosa intendi per "unione per la fonte". In realtà finisco per fare qualcosa di simile a quello suggerito da Jordan per uno scenario in cui ho bisogno dei nomi delle tabelle nel set di risultati. Inserisco il nome_tabella nelle query interne e li seleziono dalla query esterna, ad es. SELECT table_name, title, state FROM (SELEZIONA "publicdata: samples.wikipedia" AS nome_tabella, stringa (titolo) AS titolo FROM publicdata: samples.wikipedia limite 10), (SELEZIONA "publicdata: samples.natality" AS nome_tabella, stringa (stato) AS stato FROM publicdata: samples.natality limit 10) –
Si può sempre fare:
SELECT * FROM (query 1), (query 2);
Si fa il stessa cosa:
SELECT * from query1 UNION select * from query 2;
Sì, questo funziona. È identico a quello pubblicato dalla Jordan 2,5 anni fa. – mdahlman
BigQuery ha recentemente aggiunto il supporto per Standard SQL, compresa l'operazione UNION
.
Al momento della presentazione di una query tramite l'interfaccia utente web, basta assicurarsi di deselezionare "Usa Legacy SQL" sotto la rubrica versione di SQL:
Tuttavia, è importante utilizzare UNION con una seconda parola chiave: UNION ALL o UNION DISTINCT, vedere [il seguente link] (https://cloud.google.com/bigquery/docs/reference/standard-sql/query -syntax # union) –
@RogierWerschkull true dat. – olebebo
Si noti che, se si sta utilizzando SQL standard, il operatore virgola ora significa JOIN
-you have to use the UNION
syntax if you want a union:
In eredità SQL, l'operatore virgola, ha il significato non standard di UNION ALL se applicato alle tabelle. Nell'SQL standard, l'operatore virgola ha il significato standard di JOIN.
Ad esempio:
#standardSQL
SELECT
column_name,
count(*)
from
(SELECT * FROM me.table1 UNION ALL SELECT * FROM me.table2)
group by 1
ahh ... molto intelligente. L'aggiunta di due query non è un'opzione nel mio caso, ma questa costruzione sembra che dovrebbe funzionare. – mdahlman
Come nota, come hai detto, questa non è esattamente UNION, ma piuttosto UNION ALL [Vedi altro post] (http: // stackoverflow.it/questions/49925/what-is-the-difference-between-union-and-union-all) – hoggkm
ciao @ Jordan-Tigani se chiamo la query come sopra, allora i record migliori saranno di wikipedia e poi di natalità. Voglio sapere se le sequenze mantengono o no. voglio solo clerificare. –