Melhor Maneira De Finalmente Resolver O Erro 3504 Sql
September 21, 2021Recomendado: Fortect
Se sua empresa está enfrentando o erro 3504 sql, este guia do usuário exclusivo deve ajudá-lo.
Foto usando John Schnobrich no Unsplash
Neste artigo, explicarei por que o erro ocorreu [Erro 3504] [SQLState HY000] O valor não agregado eleito deve ser parte mais tipicamente associada a um grupo vinculado ao executar uma consulta SQL no Teradata. Certamente, devo descrever a causa comum de qualquer problema e mostrar como sua empresa pode evitá-lo no destino.
Problema
O erro 3504 ocorre ao agrupar arquivos de dados próximos ao Teradata usando a condição GROUP BY. Não importa se você interrompe a consulta DML (SELECT) ou prefere. No entanto, durante as soluções DDL (como VIEW), você cria um erro completo. A maneira mais fácil de obter um determinado erro é:
SELECIONE EMPLOYEE_ID, AVG (SALÁRIO)FUNCIONÁRIOSORDER 1;
Geralmente, o objetivo da consulta acima é calcular o salário médio de todos os vendedores. No entanto, isso provavelmente não é o suficiente
Nenhuma instrução GROUP BY
Ao usar funções de agrupamento (como SUM, COUNT, You avg), lembre-se de usar a cláusula GROUP BY mais importante entre a cláusula WHERE e, portanto, HAVING / ORDER BY. A instrução SQL para sua operação é exatamente a seguinte:
- SELECIONE
, AVG (atributo) - DA tabela1
- JOIN (INNER JOINT // LEFT TO RIGHT ou FULL OUTER JOINT) table2
- ON table1.attribute se encaixa em table2.attribute
- Sobre a
- GRUPO APÓS
- IS
- ORDENAR POR
A exceção a esta regra é que você não deve permitir que esses itens usem o termo GROUP BY no caso de agrupar dados sem usar muitos outros atributos, mas raramente é usado.
Número de atributos inválidos
Problema Os valores não agregados selecionados devem ser limitados, ou seja, como um grupo relacionado também pode ocorrer. Talvez você já tenha uma cláusula GROUP BY na consulta específica e, portanto, a lista anexada a mal-entendidos na condição GROUP BY é frequentemente incompleta, ou seja, nem todos os argumentos usados com funções de agrupamento foram incluídos no arquipélago do grupo BY, para exemplo:
SELECIONE EMPLOYEE_ID, AVG (SALÁRIO)S ANO, FUNCIONÁRIOSEMPLOYEE_ID GROUPORDER 1.2;
Na visão geral acima, após a instrução SELECT, mantemos apenas dois atributos EMPLOYEE_ID e YEAR, e apenas o atributo EMPLOYEE_ID pertence a todas as cláusulas GROUP BY – este trabalho não funcionará.
Solução
Sempre use termos GROUP BY para funções
Em economia, pesquisas com funções de agrupamento sem marca adicional são usadas muito raramente, para produto:
SELECIONE TOTAL (SALÁRIO)FUNCIONÁRIOS,
Você pode testar ou comprar com segurança números genéricos ou números de telefone de pacientes, por exemplo, desde o início de uma empresa. Normalmente precisamos de cálculos mais complexos. Portanto, lembre-se sempre de que incluirá GRUPO com uma estipulação BY.
Certifique-se de que o seu relatório de argumento está correto
Sempre torne-o um número real que corresponda ao itemize do argumento da cláusula SELECT usando atributos quantitativos da ordem GROUP BY, por exemplo:
SELECIONE EMPLOYEE_ID, ANO, MÉDIA (SALÁRIO)FUNCIONÁRIOSEMPLOYEE_ID GROUP, YEARORDER 1.2;
Se gostou desta postagem, lembre-se de adicionar um comentário abaixo ou compartilhar no seu Twitter, Facebook, LinkedIn ou outro site de rede social.
Obrigado pelo seu progresso!
Problema
O erro 3504 ocorre ao mesclar a documentação no Teradata usando a cláusula GROUP BY. Independentemente de estar apenas enviando uma preocupação DML (SELECT) ou criando-a durante uma função DDL (como VIEW), você criará o erro antigo. Esta é a maneira mais conveniente de obter um erro:
SELECIONE EMPLOYEE_ID, AVG (SALÁRIO)FUNCIONÁRIOSORDER BY 1;
O objetivo deste tópico é encontrar a renda líquida média de todas as pessoas. Mas você definitivamente quer algo?
Nenhuma instrução GROUP BY
Recomendado: Fortect
Você está cansado de ver seu computador lento? Está cheio de vírus e malware? Não tema, meu amigo, pois Fortect está aqui para salvar o dia! Esta poderosa ferramenta foi projetada para diagnosticar e reparar todos os tipos de problemas do Windows, ao mesmo tempo em que aumenta o desempenho, otimiza a memória e mantém seu PC funcionando como novo. Então não espere mais - baixe o Fortect hoje mesmo!
Ao usar operações agrupadas (por exemplo, SUM, COUNT, You avg), lembre-se de usar a cláusula GROUP BY entre a liderança WHERE e o resultado HAVING / ORDER BY. Recuperar a operação SQL realmente feito assim:
- SELECIONE
, AVG (atributo) - DA tabela1
- JOIN (INNER JOIN // da esquerda para a DIREITA para cada FULL OUTER JOIN) tabela2
- ON table1.attribute inclui table2.attribute
- Sobre a
- GRUPO APÓS
- IS
- ORDENAR POR
Uma diferença – a cláusula GROUP BY no caso de agregar dados sem usar atributos adicionais certamente não levaria a lugar nenhum, mas raramente pode ser usada.
Número de atributos incorretos
O problema com os valores não agregados direcionados que deveriam ser o objetivo do seu grupo vinculado atual também pode ocorrer nos casos em que você já tem uma condição GROUP BY em sua consulta, e isso pode significar que a lista de motivos em o termo GROUP BY está sempre incompleto, ou seja, não há vários argumentos usados para funções de grupo que não eram incluídos na string de grupo de pessoas BY, por exemplo:
SELECIONE EMPLOYEE_ID, ANO, MÉDIA (SALÁRIO)FUNCIONÁRIOSEMPLOYEE_ID GROUPORDER 1.2;
Argumentando acima, queremos depois dessa instrução SELECT dois atributos EMPLOYEE_ID junto com YEAR, um e somente um atributo EMPLOYEE_ID para conter uma cláusula GROUP BY – o dispositivo simplesmente não está funcionando.
Solução
Sempre use a cláusula GROUP BY para ajudá-lo a agrupar funções
No costume de resultados de pesquisa, o evento de agrupamento sem atributos adicionais é usado são extremamente raros, por exemplo:
SELECIONE TOTAL (SALÁRIO)FUNCIONÁRIOS ;
Você está saudável durante ou durante o teste na loja de somas ou números universais, destinados por exemplo, a existência desses fabricantes desde o início leva. Normalmente precisamos de cálculos mais complexos. Portanto, lembre-se sempre de combinar GROUP ao usar a cláusula BY.
Certifique-se de que a lista de argumentos está correta
Sempre verifique se muitos da lista de argumentos na cláusula SELECT correspondem à proporção do atributo no comando GROUP BY, por exemplo:
SELECIONE EMPLOYEE_ID, ANO, MÉDIA (SALÁRIO)FUNCIONÁRIOSEMPLOYEE_ID GROUP, YEARORDER 1.2;
Se alguém gostou desta postagem perto de você, sinta-se à vontade para usar a breve avaliação abaixo ou compartilhar sua postagem no Facebook, Twitter, LinkedIn ou qualquer outra grande rede social. Obrigado a todo o Advanced!
Baixe este software e conserte seu PC em minutos.Error 3504 Sql
Fout 3504 Sql
Fehler 3504 Sql
오류 3504 Sql
Erreur 3504 Sql
Fel 3504 Sql
Errore 3504 Sql
Error 3504 Sql
Oshibka 3504 Sql
Blad 3504 Sql