SQL | Função que verifica 2 campos e preenche em uma só sem duplicar.

SQL Server

Banco de Dados

18/06/2019

Estou procurando uma função que junte 2 campos mas mantendo com vários registros e sem duplicar. Darei um exemplo

EX:

Tabela_1

Veiculo|Turno_Princ

123|1

123|2

Tabela_2

PrefixoV|Turno_Ativo

123|0

123|2

123|3

-

Depois de fazer o Join entre essas 2 tabelas ficaria assim:

SELECT JOIN

Veiculo|PrefixoV|Turno_Princ|Turno_Ativo

123|123|1|0

123|123|1|2

123|123|1|3

123|123|2|0

123|123|2|2

123|123|2|3

-

A função tem que tazer o seguinte resultado

Veiculo|PrefixoV|"nome_da_funcao_que_esqueci"(Turno_Princ,Turno_Ativo)

123|123|0

123|123|1

123|123|2

123|123|3

Tecnicamente essa função verifica os 2 campos, se não existir em um campo pegue a outra e sem duplicar, como o exemplo acima.

Espero que consigam entender, Aguardo resposta.
Willian Medeiros

Willian Medeiros

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

18/06/2019

basta utilizar union:
SELECT a.Veiculo, b.PrefixoV, a.Turno_Princ FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo
UNION
SELECT a.Veiculo, b.PrefixoV, b.Turno_Ativo FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

18/06/2019

basta utilizar union e join (veja se pra tua necessidade é melhor usar left join ou inner join):
SELECT a.Veiculo, b.PrefixoV, a.Turno_Princ FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo
UNION
SELECT a.Veiculo, b.PrefixoV, b.Turno_Ativo FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo


.
GOSTEI 0
Willian Medeiros

Willian Medeiros

18/06/2019

basta utilizar union:
SELECT a.Veiculo, b.PrefixoV, a.Turno_Princ FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo
UNION
SELECT a.Veiculo, b.PrefixoV, b.Turno_Ativo FROM Tabela_1 a LEFT JOIN Tabela_2 b ON b.PrefixoV = a.Veiculo


Bom, o Join que utilizo é o Full Join, e esse resultado sai assim.

Veiculo|PrefixoV|Turno_Princ|Turno_Ativo

123|123|1|0

123|123|1|2

123|123|1|3

123|123|2|0

123|123|2|2

123|123|2|3

E eu preciso que saia esse resultado aqui

Veiculo|PrefixoV|"nome_da_funcao_que_esqueci"(Turno_Princ,Turno_Ativo)

123|123|0

123|123|1

123|123|2

123|123|3

Pegando os campos Turno_Princ e Turno_Ativo, verificando os 2 e "juntando" os registros, mas não colocando em 1 unica linha e sim em várias, Tipo o que tem em um não tem em outro, vice e versa.
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

18/06/2019

nem testou, né?
GOSTEI 0
POSTAR