Configurar tabelas
Esquema de múltiplas tabelas
- 1970s altera o tipo de
winner_seeddeNullable(String)paraNullable(UInt8)e o descoredeStringparaArray(String). - 1980s altera
winner_seedeloser_seeddeNullable(UInt8)paraNullable(UInt16). - 1990s altera
surfacedeStringparaEnum('Hard', 'Grass', 'Clay', 'Carpet')e adiciona as colunaswalkovereretirement.
Consultando várias tabelas com merge
winner_seed usa tipos diferentes nas várias tabelas:
variantType para verificar o tipo de winner_seed em cada linha e, em seguida, variantElement para extrair o valor subjacente.
Quando o tipo é String, convertemos para um número e então fazemos a comparação.
O resultado da execução da consulta é mostrado abaixo:
De qual tabela vêm as linhas ao usar merge?
_table para fazer isso, como mostrado na consulta a seguir:
walkover:
walkover é NULL em todos os casos, exceto em atp_matches_1990s.
Precisaremos atualizar nossa consulta para verificar se a coluna score contém a string W/O quando a coluna walkover for NULL:
score for Array(String), precisamos percorrer o array e procurar por W/O; já se for do tipo String, podemos simplesmente procurar W/O na string.