Meilleurs Moyens De Résoudre L’erreur 3504 Sql

September 21, 2021 By Lawrence Scanlon Off

 

Recommandé : Fortect

  • 1. Téléchargez et installez Fortect
  • 2. Ouvrez le programme et cliquez sur "Scan"
  • 3. Cliquez sur "Réparer" pour lancer le processus de réparation
  • Téléchargez ce logiciel et réparez votre PC en quelques minutes.

    Si vous êtes confronté à la gestion 3504 sql, ce guide de l’utilisateur devrait vous aider.

     

     

    Photo de John Schnobrich sur Unsplash

    Dans certains articles, j’expliquerai pourquoi une erreur s’est produite [Erreur 3504] [SQLState HY000] La valeur non agrégée sélectionnée doit faire partie d’un groupe lié en cas d’exécution d’une requête SQL dans Teradata. Je vais décrire la principale cause commune du problème et vous montrer comment vous pouvez l’éviter à l’avenir.

    Problème

    L’erreur 3504 se produit lors du regroupement de fichiers d’informations dans Teradata à l’aide de la clause GROUP BY. Cela n’a pas d’importance à chaque fois que vous abandonnez l’interrogation DML (SELECT) ou comme Cependant, lors des techniques DDL (comme VIEW), vous créez une erreur précise et absolue. Le moyen le plus simple de leur permettre d’obtenir une erreur est :

    SELECT EMPLOYEE_ID, AVG (SALAIRE)DES EMPLOYÉSORDRE 1 ;

    error 3504 sql

    Le plan de la requête ci-dessus est de calculer le salaire moyen des vendeurs virtuellement. Cependant, c’est probablement vraiment suffisant

    Pas d’enregistrement GROUP BY

    Lorsque l’utilisation du regroupement est efficace (comme SUM, COUNT, You avg), rappelez-vous quand vous devez utiliser la clause GROUP BY en tenant compte de la clause WHERE et donc HAVING / ORDER BY. La phrase SQL pour l’opération est exactement du type suivant :

    1. SELECT , AVG (attribut)
    2. FROM table1
    3. JOIN (INNER JOINT // LEFT TO RIGHT ou peut-être un FULL OUTER JOINT) table2
    4. ON table1.attribute correspond à table2.attribute
    5. À propos de
    6. GROUPE APRÈS
    7. EST
    8. ORDRE PAR

    L’exception est que vous ne devriez probablement pas les laisser utiliser le terme GROUP BY lors du regroupement de données sans obtenir de nombreux autres attributs, mais il n’est en aucun cas utilisé.

    Numéro de symbole invalide

    Problème La morale non agrégée sélectionnée doit être partielle, c’est-à-dire qu’une institution connexe peut également avoir lieu. Peut-être que des individus ont déjà une stipulation GROUP BY dans votre requête, et donc la liste la plus importante de malentendus dans la clause GROUP BY est souvent incomplète, c’est-à-dire que tous les arguments utilisés avec les fonctions de groupe n’ont pas été inclus dans la chaîne de groupe BY, par exemple :

    SELECT EMPLOYEE_ID, AVG (SALAIRE)S ANNÉE, EMPLOYÉSGROUPE EMPLOYEE_IDORDRE 1.2 ;

    Dans l’évaluation ci-dessus, après l’instruction SELECT, nous obtenons les 2 attributs EMPLOYEE_ID et YEAR, et seul l’attribut EMPLOYEE_ID correspond aux termes GROUP BY – cette fonction ne fonctionnera pas.

    Solution

    Toujours utiliser la clause GROUP BY pour les fonctions

    En économie, les requêtes avec des fonctions de regroupement sauf si vous avez des attributs supplémentaires sont utilisées très occasionnellement, par exemple :

    SELECTIONNER TOTAL (SALAIRE)DES EMPLOYÉS ;

    Vous pouvez expérimenter ou rechercher en toute sécurité des numéros génériques ou simplement des numéros de patient, par exemple, dès le démarrage d’une entreprise par une personne. Nous avons pour la plupart besoin de calculs plus complexes. Par conséquent, n’oubliez presque jamais d’inclure GROUP avec la clause BY parfaite.

    Assurez-vous que votre propre liste d’arguments est correcte

    Faites toujours en sorte qu’il corresponde, je dirais, à la liste d’arguments de l’offre SELECT avec les attributs quantitatifs de la commande GROUP BY, par exemple :

    SÉLECTIONNER EMPLOYEE_ID, ANNÉE, MOYENNE (SALAIRE)DES EMPLOYÉSEMPLOYEE_ID GROUP, ANNÉEORDRE 1.2 ;

    Si vous avez aimé cet article, veuillez ajouter un commentaire ou le partager sur votre Twitter, Facebook, LinkedIn ou un autre site social social.
    Merci pour vos avancées !

    Dans cet article, je vais comprendre pourquoi vous rencontrez [Error 3504] [SQLStateHY000] lors de l’exécution de la rubrique SQL dans Teradata. Les plages de bonnes affaires non agrégées sélectionnées doivent faire partie de notre propre groupe. Je vous verrai, passerai en revue la cause du problème, en plus de vous montrer comment vous pouvez éviter les erreurs à l’avenir.

    Problème

    L’erreur 3504 se produit lors de la fusion de documents dans Teradata à l’aide de notre propre clause GROUP BY. Que vous soumettiez uniquement une requête DML (SELECT) ou que vous la créiez lors d’une fonction DDL (comme VIEW), votre famille obtiendra l’ancienne erreur. Voici le moyen le plus simple d’obtenir une erreur majeure :

    SELECT EMPLOYEE_ID, AVG (SALAIRE)DES EMPLOYÉSCOMMANDER PAR 1 ;

    Le but de cette requête est de trouver son salaire moyen de toutes les personnes. Mais vous voulez probablement quelque chose ?

    Pas d’instruction GROUP BY

    Recommandé : Fortect

    Vous en avez assez que votre ordinateur fonctionne lentement ? Est-il truffé de virus et de logiciels malveillants ? N'ayez crainte, mon ami, car Fortect est là pour sauver la mise ! Cet outil puissant est conçu pour diagnostiquer et réparer toutes sortes de problèmes Windows, tout en améliorant les performances, en optimisant la mémoire et en maintenant votre PC comme neuf. Alors n'attendez plus - téléchargez Fortect dès aujourd'hui !

  • 1. Téléchargez et installez Fortect
  • 2. Ouvrez le programme et cliquez sur "Scan"
  • 3. Cliquez sur "Réparer" pour lancer le processus de réparation

  • Lorsque vous utilisez des opérations de regroupement (par exemple, SUM, COUNT, You avg), n’oubliez pas d’utiliser la clause GROUP BY entre laquelle la commande WHERE et le HAVING pour chaque résultat ORDER BY. La récupération de l’opération SQL se fait comme ceci :

    1. SELECT , AVG (attribut)
    2. FROM table1
    3. JOIN (INNER JOIN // de gauche à droite pour chaque FULL OUTER JOIN) table2
    4. ON table1.attribute signifie table2.attribute
    5. À propos de
    6. GROUPE APRÈS
    7. EST
    8. ORDRE PAR

    Une exception – la condition GROUP BY lors de l’agrégation de données sans utiliser d’attributs supplémentaires n’ira nulle part, mais elle est rarement utilisée.

    Nombre d’attributs invalides

    La crise avec des valeurs non agrégées sélectionnées qui peuvent vouloir faire partie de votre groupe accroché actuel peut également se produire dans des cas de protection où vous avez déjà une clause GROUP BY dans votre requête, car cela pourrait signifier que la multitude de bonnes raisons dans la clause GROUP BY est toujours incomplète, c’est-à-dire que tous les arguments utilisés pour les fonctions de communauté n’étaient pas inclus dans notre chaîne de groupe BY, par exemple :

    SÉLECTIONNER EMPLOYEE_ID, ANNÉE, MOYENNE (SALAIRE)DES EMPLOYÉSGROUPE EMPLOYEE_IDORDRE 1.2 ;

    En argumentant ci-dessus, nous souhaitons vraiment après l’instruction SELECT deux avantages EMPLOYEE_ID et YEAR, un et surtout un attribut EMPLOYEE_ID pour contenir une clause GROUP BY – la tablette ne fonctionne pas.

    Solution

    Utilisez toujours la clause GROUP BY pour regrouper les fonctions

    Dans la pratique des résultats de recherche, notre fonction de regroupement sans attributs supplémentaires est sans doute utilisée et très rare, par exemple :

    SELECTIONNER TOTAL (SALAIRE)DES EMPLOYÉS ;

    Vous êtes en sécurité pendant ou pendant les tests de laboratoire à la recherche de sommes ou de nombres communs, par exemple, l’existence liée à ces entreprises dès les premières pistes. Nous avons généralement besoin de calculs plus complexes. Par conséquent, n’oubliez pas de toujours compresser GROUP avec la clause BY.

    Assurez-vous que la liste d’arguments est vraiment correcte

    error 3504 sql

    Vérifiez toujours que la liste d’arguments sur la clause SELECT correspond au ratio d’attributs dans l’acquisition GROUP BY, par exemple :

    SÉLECTIONNER EMPLOYEE_ID, ANNÉE, MOYENNE (SALAIRE)DES EMPLOYÉSEMPLOYEE_ID GROUP, ANNÉEORDRE 1.2 ;

    Si vous avez aimé ce post sur vous, n’hésitez pas à porter le commentaire ci-dessous ou à partager votre post ultime sur Facebook, Twitter, LinkedIn par tout autre réseau social.
    Merci à tous Avancé !

     

     

    Téléchargez ce logiciel et réparez votre PC en quelques minutes.

     

     

     

    Error 3504 Sql
    Fout 3504 Sql
    Fehler 3504 Sql
    오류 3504 Sql
    Fel 3504 Sql
    Errore 3504 Sql
    Error 3504 Sql
    Oshibka 3504 Sql
    Blad 3504 Sql
    Erro 3504 Sql