Professor, para usar o Union é necessário as tabelas ter relação entre si? Exempl: Primary key e foreign key? Ou é necessário apenas ter o mesmo número de campo nos selects?
Professor, para usar o Union é necessário as tabelas ter relação entre si? Exempl: Primary key e foreign key? Ou é necessário apenas ter o mesmo número de campo nos selects?
É preciso ter tanto o mesmo número de campos quanto eles estarem no mesmo formato.
Exemplo: digamos que você tem duas listas separadas, uma com o CPF de pessoas e outra com o CNPJ. E digamos que você gravou apenas os números do CPF na lista de pessoas.
Então na tabela de pessoas vai ter algo como:
id_pessoa | cpf | nome |
---|---|---|
1 | 66136368005 | fulano |
2 | 62739008 | beltrano |
3 | 1977448034 | cicrano |
E na tabela de empresas algo como:
id_empresa | cnpj | nome |
---|---|---|
1 | 36.641.605/0001-09 | empresa a |
2 | 53.363.747/0001-70 | empresa b |
3 | 57.795.046/0001-61 | empresa c |
Para fazer uma consulta usando o union
que traga tanto {cpf,nome} da lista de pessoas quanto {cnpj,nome} da lista de empresas, você tem que ou converter a coluna cpf para o tipo string/varchar ou remover as pontuações do cnpj e converter essa coluna para numérica.