J'ai une table qui ressemble à ce Comment puis-je le faire être retourné comme ceci ... p> me donner une erreur à la ligne de commande: 3 colonne: 25 p> Aidez-moi s'il vous plaît je suis débutant p> < / p> i Pris cette méthode mais non réussi h2>
3 Réponses :
La seule erreur évidente de votre code posté est que vous avez Vous pouvez supprimer le filtre et ajouter le formulaire double code> au lieu de à partir dual code>. Mais avec cela corrigé, il ne donne pas la sortie que vous voulez, tout comme vous ne recevez que les dates et uniquement pour un employé: EMP_ser CODE> VALEUR TO: P> with rcte (rn, diff, from_date, emp_ser) as (
select 1, trunc(to_date - from_date), from_date, emp_ser from emp_vac
union all
select rn + 1, diff, from_date, emp_ser from rcte where rn <= diff )
select from_date + rn - 1 vac_date, emp_ser
from rcte
order by emp_ser, vac_date;
Pour une raison quelconque (dates bug), la version RCTE ne fonctionne pas dans Oracle 11. Après une petite modification, où nous opérons des chiffres au lieu des dates, cela fonctionne. Voici le dbfiddle . Bonne réponse quand même.
Intéressant, je l'ai testé sur 11.2.0.4 et c'était bien. DB <> FIDDLE est 11.2.0.2 Donc, je suppose que c'est le bogue 11840579 qui est affiché comme résolu en 11.2.0.3. (J'ai vu cela avant mais l'avait oublié à ce sujet ...) De toute façon, merci pour la solution de contournement.
donnez-moi Erreur d'erreur à la ligne de commande: 1 Colonne: 10 Rapport d'erreur: erreur SQL: ORA-32033: تبديل العمود غير مدعوم 32033. 00000 - "aliasing colonne non pris en charge" * Cause: colonne aliasing avec clause n'a pas encore pris en charge * Action: Spécifiez l'aliasing dans la sous-requête de défense et réessayez
Dans la première méthode, cela fonctionne mais que toutes les données puis-je filtrer sur une personne pour le tester? comment
@islaAmbahy - Vous devez être sur une version plus tôt que 11.2, ce qui signifie que vous ne pourrez pas utiliser de CTES récursif telles qu'elles ont été ajoutées dans cette version. Vous devrez utiliser la méthode hiérarchique (version adaptée de la vôtre ou le deuxième bloc de code avec l'appel à dbms_random code>). Si vous souhaitez tester une seule personne, mettez votre EMP_SER CODE> Filtrer dans.
Essayez ceci
SELECT DISTINCT em_code, (to_date(end_date,'DD-MM-YYYY') - level + 1) AS days FROM islaam_vca where em_code = '2222' CONNECT BY level <= (to_date(end_date,'DD-MM-YYYY') - to_date(start_date,'DD-MM-YYYY') + 1) order by days ASC ; it's work i test this code and working with me
Quelle erreur vous a-t-elle donné? (Vous avez
formulaire code> au lieu deà partir de code> mais pas sûr si vous avez réypéré cela pour la publication ...)