COMO FAÇO ESSE SELECT NO SQL SERVER

 Tópico anterior Próximo tópico Novo tópico

COMO FAÇO ESSE SELECT NO SQL SERVER

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#489575 - 20/07/2019 10:27:58

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Última edição em 20/07/2019 10:37:26 por JCM0867

Olá Pessoal,

Seguinte, Tenho duas Tabelas e quero juntar as duas, talvez com algum tipo de INNER:

Talela1 : Codigo, Campo4, Campo5
                   1          AAA          GGG

Talela2 : Codigo, Campo2, Campo3
                   1          AA5          GG4
                   1          AA2          GG2
                   1          XYZ          KLM

Gostaria de Fazer um Select de forma que pegue apenas 1 registro da tabela2, qualquer um dos 3

Resultando por exemplo:
Codigo, Campo2, Campo3, Campo4, Campo5
     1        AA5          GG5        AAA        GGG

ou

Codigo, Campo2, Campo3, Campo4, Campo5
     1        AA2          GG2        AAA        GGG

ou

Codigo, Campo2, Campo3, Campo4, Campo5
     1        XYZ          KLM      AAA        GGG

Grato




Resposta escolhida #489577 - 20/07/2019 11:15:06

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 20/07/2019 11:19:39 por JABA

Faça o join e agrupe pelo código.

SELECT t1.*, t2.Campo2, t2.Campo3 FROM Tabela1 t1, Tabela2 t2 Where t1.Codigo = t2.Codigo Group by t1.Codigo;



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489578 - 20/07/2019 11:43:11

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Citação:
:
Faça o join e agrupe pelo código.

SELECT t1.*, t2.Campo2, t2.Campo3 FROM Tabela1 t1, Tabela2 t2 Where t1.Codigo = t2.Codigo Group by t1.Codigo;



Erro:
...is not contained in either an aggregate function or the GROUP BY clause



#489579 - 20/07/2019 11:50:28

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 20/07/2019 11:59:48 por JABA

Testei no mysql e funcionou.

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489580 - 20/07/2019 11:57:22

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Última edição em 20/07/2019 11:59:50 por JCM0867

Ele não aceitou um campo só no Group By

Exemplo 2:
Talela1 : Codigo, Campo4, Campo5
                   1          AAA          GGG
                   2          JWU          YET

Talela2 : Codigo, Campo2, Campo3
                   1          AA5          GG4
                   1          AA2          GG2
                   1          XYZ          KLM
                   2          TTT          VVV
                   2          UUU        123

Resultado deve ser:

1        AA5          GG5        AAA        GGG
2        TTT           VVV         JWU       YET

Algo do tipo TOP 1 em cada Grupo do campo Código




#489581 - 20/07/2019 12:03:47

JABA
CABO FRIO
Cadast. em:Agosto/2005


Tente colocar alguma função de agregação no campo "Código" então, como o max ou min.

SELECT t1.*, t2.Campo2, t2.Campo3 FROM Tabela1 t1, Tabela2 t2 Where t1.Codigo = t2.Codigo Group by min(t1.Codigo);


ou

SELECT min(t1.Codigo), t1.Campo4, t1.Campo5, t2.Campo2, t2.Campo3 FROM Tabela1 t1, Tabela2 t2 Where t1.Codigo = t2.Codigo Group by min(t1.Codigo);



_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489582 - 20/07/2019 12:15:37

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Mesmo erro no Group By



#489583 - 20/07/2019 12:26:23

JABA
CABO FRIO
Cadast. em:Agosto/2005


Última edição em 20/07/2019 12:27:54 por JABA

Tente usar o "distinct" apenas para o campo "Codigo".

SELECT distinct(t1.Codigo), t1.Campo4, t1.Campo5, t2.Campo2, t2.Campo3 FROM Tabela1 t1, Tabela2 t2 Where t1.Codigo = t2.Codigo




_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489585 - 20/07/2019 14:25:19

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Como tem registros diferentes nos outros campos ele acaba pegando tudo.
Vou fazer um Baka que faz um loop, e seleciona um em cada grupo do campo código e salva em outra tabela



#489586 - 20/07/2019 15:00:57

JABA
CABO FRIO
Cadast. em:Agosto/2005


Veja isso:

stackoverflow.com/questions/5021693/distinct-for-only-one-column

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#489587 - 20/07/2019 19:13:42

JCM0867
BALNEARIO CAMBORIU
Cadast. em:Março/2012


Valeu Jaba,
Era bem o que precisava descrito no StackOverflow
Funcionou 100%

Grato



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por JCM0867 em 20/07/2019 20:04:28