|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
Bonjour;
Je voudrais insérer des lignes dans une table en tenant compte des condition sur des champs de la table source. j'ai fait une série de Case qui ne marche pas apparemment. quelqu'un peut il m'aider svp merci d'avance Code sql :
|
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Pourquoi ne pas simplifier par ceci au lien d'enchainer les CASE ???
Code :
Code :
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||||
|
|
10
|
|
|
#3 | ||
![]() ![]() |
Le problème provient du GROUP BY, vous le faite sur les colonnes Orientation et Dire alors que dans le select vous avez des cases imbriqués.
Il faut que le select reflète le group by. Pour ce faire, en appliquant la simplification de bon sens proposée ci-dessus : Code :
__________________
Email : http://scr.im/waldar |
||
|
10
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
D'autre part, une coquille : Code SQL :
ou Ces conditions ne seront jamais vraies toutes les deux ! Je ne sais pas ce que vous vouliez mettre, mais je pense que ce n'était pas ça |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
merci ça marche bien votre proposition effectivement c'est le "group by" qui est la source du problème.
j'aimerais savoir comment faire si je veux faire un GROUP BY seulement sur MoId. car si je mets pas les autre champs dans la clause GROUP BY ça passe pas. merci de me répondre svp |
|
|
01
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Je ne suis pas sur d'avoir bien compris ce que vous vouliez(sinon, postez un jeu d'essai avec résultat attendu), mais en utilisant les fonctions de fenêtrage :
Code SQL :
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
Bonjour;
dans le select il y a trois champs plus la SUM je veux faire une GROUP BY seulement sur une seul colonne pas les trois ensemble. dans ce code il m'est impossible à chaque fois ça palante quand je fais : 'group by MoId ' seulement. j'espère être claire. merci |
|
|
00
|
|
|
#8 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
par exemple : Citation:
Citation:
|
|||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
oui je l'ai testé et j'ai la même erreur
Column 'RE-DW.dbo.MaTable.SitId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. et pareil pour les autre colonne non spécifiées dans le Group By |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Heu...
je parlais de cette requete : Code SQL :
Et est-ce que l'exemple que j'ai mis correspond à ce que vous cherchez à obtenir ? PS: essayez déjà sans la partie INSERT, pour voir si le SELECT est bien ce que vous voulez... |
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
je l'ai essayé et ça me donne la même erreur que celle dans mon précédent message
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Avez vous bien enlevé le GROUP BY ????
Avez vous essayé juste la partie SELECT ??
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 65 ![]() |
oui j'ai enlevé le goup by et j'ai également essayé le select tout seul.
mais malheureusement l'erreur est la même: Column 'dbo.MaTable.MoId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 667 ![]() |
Bonjour,
Donnez le texte complet de la requête que vous exécutez. La requête de aieeeuuuuu est correcte. D'autre part les crochets ne servent à rien, comme l'alias A. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com