Je veux mettre à jour la colonne c5 (à 1) de chaque base de date groupée sur la colonne c1, c2, c3 où c3 est maximum dans le même groupe c1, c2. je travaille avec hql sur oracle dbmise à jour conditionnellement base sur le maximum d'une colonne dans un groupe spécial hql
c1 | c2 | c3 | c4 | c5 | c5 after update
2000 | a | 01 | x | 0 | 0
2000 | a | 01 | y | 0 | 0
2000 | a | 01 | z | 0 | 0
2000 | a | 02 | z | 0 | 1
2000 | a | 02 | x | 0 | 1
...........................
2000 | b | 01 | x | 0 | 0
2000 | b | 01 | y | 0 | 0
2000 | b | 01 | z | 0 | 0
2000 | b | 02 | z | 0 | 1
..........................
..........................
2001 | a | 01 | x | 0 | 0
2001 | a | 01 | y | 0 | 0
2001 | a | 01 | z | 0 | 0
2001 | a | 02 | z | 0 | 0
2001 | a | 02 | x | 0 | 0
2001 | a | 02 | y | 0 | 0
2001 | a | 02 | w | 0 | 0
2001 | a | 03 | y | 0 | 1
2001 | a | 03 | w | 0 | 1
...........................
2001 | b | 01 | x | 0 | 0
2001 | b | 01 | y | 0 | 0
2001 | b | 02 | x | 0 | 1
2001 | b | 02 | z | 0 | 1
merci beaucoup.Je veux hql mais je pense que je ne peux pas l'écrire avec hql et dois utiliser sql comme vous m'a répondu ... mais pouvez-vous modifier votre réponse à mettre à jour c5 au numéro spécifique (0 ou 1)? (Je ne veux pas sélectionner ... Je veux mettre à jour) – faraa
Oh. J'ai raté la partie mise à jour. Comme c'est déjà écrit par mathguy ci-dessus, donc vous pouvez vérifier cela. cela fonctionnera pour vous, mais vous devez définir la colonne 'c5' sur' default 0' dans ddl. – zarruq
donc je ne peux pas utiliser votre requête (avec quelques modifications) pour mettre à jour? – faraa