0
votes

SQL triant avec différents champs en fonction de la valeur du premier

essayer de trier les données avec différents champs concernant la valeur du premier champ. Je pensais que cela fonctionnerait mais je ne trouve pas l'erreur xxx

My SQL dit une erreur de syntaxe près de 'commander par'

En outre, comment trier descendant LGP_STYLE_KIND_ENUM? < / p>


2 commentaires

Certains échantillons de données seraient utiles


Tagez votre question avec la base de données que vous utilisez.


3 Réponses :


0
votes

Un cas expression renvoie une valeur Single . Une liste délimitée par des virgules n'est pas une valeur unique.

Vous pouvez résoudre ceci en le divisant en plusieurs cas expressions: xxx

Notez que cette Dépandit chaque référence de colonne dans son propre cas expression. C'est intentionnel. Sinon, vous devez être sûr que les types sont compatibles - et pourraient obtenir des erreurs si elles ne le sont pas.

aussi, cela utilise <> supposant que lgp_colorway_pdc1_int n'est jamais null . Si cela peut être null , la logique doit alors le prendre en compte.


3 commentaires

Je continue à avoir une erreur de syntaxe à la première ligne. Jasper dit "Aucune alternative viable à l'entrée" ("". Et mon SQL dit "# 1064 - erreur de syntaxe près de 'puis colorway.lgp_style_kind_enum fin),"


Cela fonctionne lorsque j'ajoute quand j'ajoute une fois, mais SQL Server dit "Une colonne a été spécifiée plus d'une fois dans la liste des commandes. Les colonnes de la liste doivent être uniques."


@razorvla. . . Fixé. Merci.



0
votes
Order By 
Case LGP_Colorway_PDC1_int when 10
    then    LGP_Style_Kind_enum
else        LGP_Colorway_PDC1_int
end,
            LGP_Colorway_PDC2_int,
            LGP_Colorway_PDC3_int,
            LGP_Style_SAPHrchyLvl2_enum,
            LGP_ShapeMaster_ManualCode_string
The result of the case statement should be just one value and then separate the other values with a comma. The way you have it resembles how you may build a sql statement string in code by concatenating all the other fields.Regardless of which path the logic follows in the case statement, the rest of the sort order would be the same.

1 commentaires

Merci ! Je n'avais pas pu le faire de cette façon. Où devrais-je placer "Desc" pour commander "LGP_STYLE_KIND_ENUM" décroissant? ("Lgp_colorway_pdc1_int" devrait rester ascendant)



0
votes

Pour commander et ajouter Desc comme dont j'en avais besoin, j'ai fait le code suivant: xxx


0 commentaires