2016-06-06 15 views

cevap

14

Eski SQL'de, kullanıcılar tablo joker işlevleri kullanarak veri kümesindeki tabloların alt kümesinden veri referans alabilir. Standart SQL'de, kullanıcılar UNION ALL kullanarak aynı sonucu elde edebilir. Ancak, bu yaklaşım, örneğin, bir tarih aralığını (eski SQL'de TABLE_DATE_RANGE ve TABLE_DATE_RANGE_STRICT kullanılarak desteklenen bir tarih aralığı) veya diğer karmaşık ölçütleri (eski SQL'de TABLE_QUERY tarafından desteklenen) kullanarak tablo kümesini dinamik olarak belirlemek istediğinde bu yaklaşım uygun olmayabilir. Standart SQL ile BigQuery, aşağıda açıklananlara eşdeğer bir değer sunar.

TABLE_QUERY joker karakterini kullanan aşağıdaki eski SQL sorgusu standart SQL kullanılarak yeniden yazılabilir.

Eski SQL sorgusu (TABLE_QUERY kullanılarak): (TABLE_DATE_RANGE kullanılarak)

SELECT SUM(value1) 
FROM TABLE_QUERY([myproject:mydataset],"table_id = 'mydailytable_20150105' OR 
table_id = 'mydailytable_20150106' OR table_id = 'maydailytable_20150110'") 
GROUP BY value2; 

Eski SQL sorgusu:

SELECT SUM(value1) 
FROM TABLE_DATE_RANGE([myproject:mydataset], TIMESTAMP("2015-01-05"), TIMESTAMP("2015-01-10")) 

standart bir SQL sorgusu:

SELECT SUM(value1) 
FROM `myproject.mydataset.mydailytable_*` 
WHERE _TABLE_SUFFIX = '20150105' 
    OR _TABLE_SUFFIX = '20150106' 
    OR _TABLE_SUFFIX = '20150110' 
GROUP BY value2; 

Yukarıdaki sorguda, myproject.mydataset.mydailytable_* joker tablosu myproject.mydataset adresindeki table_id veri kümesindeki mydailytable_ ile başlayan tüm tablolarla eşleşir. Örneğin, veri kümesindeki tüm tabloları eşleştirmek için kullanıcı joker karakter için boş bir önek kullanabilir. Yani, myproject.mydataset.* veri kümesindeki tüm tablolarla eşleşir.

* özel bir karakter olduğundan, bir sorguda kullanıldığında joker tablo adları belirtilmelidir.

_TABLE_SUFFIX sahte kolon: _TABLE_SUFFIX sahte kolon dizgisi yazın ve sadece herhangi bir sütun gibi kullanılabilir

. Ayrılmış bir sütun adıdır, bu nedenle SELECT listesinin bir parçası olarak kullanıldığında takma adı gerekir. Bu özellik için

Resmi belgeler burada mevcuttur:

https://cloud.google.com/bigquery/docs/wildcard-tables https://cloud.google.com/bigquery/docs/querying-wildcard-tables

+0

sen –

+1

vay, aslında çalışır lütfen resmi belgelere bağlantı eklemek Can! Yayın sürümü –

+0

sürümünde desteklenip desteklenmeyeceğini bilmemize rağmen bu zaten BigQuery'nin en son sürümünde destekleniyor, bunun için resmi belgelerinizi bekliyoruz. Hazır olduğumuzda bir link göndereceğim. Teşekkürler! –

İlgili konular