cs_lamjed
Messages postés7Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention19 décembre 2012
-
19 nov. 2007 à 15:15
donikan -
17 juin 2019 à 12:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Un grand merci, la requête fonctionne très bien sous Oracle 11g R2 avec des dates.
cs_lamjed
Messages postés7Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention19 décembre 2012 19 déc. 2012 à 11:14
pour ROCODIDO
je suit désolé pour le retard ,
avant tout tu doit voir si la partie PARTITION est correct cad
select id_pere||date_debut||id_fils||date_fin
FROM tmp t
WHERE ....
ORDER BY id_pere , date_debut , id_fils, date_fin;
pour voir la concaténation
de plus avec un champ date je vous conseil de toujours le formaté
voici ton requête :
SELECT t2.*
FROM (SELECT t.*
, Rowid
, Row_Number( )
OVER ( PARTITION BY id_pere || to_char(date_debut,'yyyymmddHH24miss') || id_fils || to_char(date_fin,'yyyymmddHH24miss')
ORDER BY
id_pere
, date_debut
, id_fils
, date_fin )
num_ligne
FROM tmp t WHERE id_pere 1130451 AND id_fils 1084944 AND date_debut >= '01/05/2012' AND date_debut < '01/06/2012') t2
Lokyhel
Messages postés1Date d'inscriptionjeudi 1 décembre 2011StatutMembreDernière intervention 9 octobre 2012 9 oct. 2012 à 11:55
Parfait merci !
rocodido
Messages postés2Date d'inscriptionmercredi 11 juillet 2012StatutMembreDernière intervention11 juillet 2012 11 juil. 2012 à 09:39
J'ai mis des virgules au lieu des || car Oracle transformait le champ date en JJ/MM/YYYY et donc la clé n'était plus la même et pas unique
rocodido
Messages postés2Date d'inscriptionmercredi 11 juillet 2012StatutMembreDernière intervention11 juillet 2012 11 juil. 2012 à 09:28
Bonjour
Ca ne fonctionne pas chez moi, j'ai 4 champs qui me sert de clé dont 2 qui sont des dates. Pour une ligne qui n'est pas en doublon, la requete remonte un num_ligne = 2 donc cette ligne serait supprimée à tord.
select t2.* from (select t.*, rowid, row_number () over (partition by id_pere||date_debut||id_fils||date_fin order by id_pere, date_debut, id_fils, date_fin) num_ligne from tmp twhere id_pere 1130451 and id_fils 1084944 and date_debut >= '01/05/2012' and date_debut < '01/06/2012'
) t2
tunisianodu92
Messages postés1Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 4 octobre 2011 4 oct. 2011 à 10:23
Bonjour,
La requête fonctionne très bien sous oracle 10g merci beaucoup!
cs_klila
Messages postés1Date d'inscriptionjeudi 27 mars 2008StatutMembreDernière intervention30 octobre 2009 30 oct. 2009 à 10:10
je voudrais un code plsql qui supprime les espaces dans un fichier texte exp j'ai la forme suivante de fichier texte:
a bbbbb cccc eee 11111
elle devient
abbbbbcccceee11111
et merci d'avance
chankotyy
Messages postés16Date d'inscriptionvendredi 30 juin 2006StatutMembreDernière intervention 4 mai 2010 4 janv. 2009 à 02:53
Bonsoir,
Le code marche très bien sous Oracle 10g.Merci Lamjed
smallfish500
Messages postés1Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention31 juillet 2008 31 juil. 2008 à 18:05
Ca a fonctionné impec sous Oracle 10g. Merci à toi.
cs_lamjed
Messages postés7Date d'inscriptionvendredi 15 février 2002StatutMembreDernière intervention19 décembre 2012 19 nov. 2007 à 15:15
N'hésitez pas à laisser des commentaires et de donner une bonne note.
J'espère que ce code pourra être utile à quelqu'un.
17 juin 2019 à 12:19
19 déc. 2012 à 11:14
je suit désolé pour le retard ,
avant tout tu doit voir si la partie PARTITION est correct cad
select id_pere||date_debut||id_fils||date_fin
FROM tmp t
WHERE ....
ORDER BY id_pere , date_debut , id_fils, date_fin;
pour voir la concaténation
de plus avec un champ date je vous conseil de toujours le formaté
voici ton requête :
SELECT t2.*
FROM (SELECT t.*
, Rowid
, Row_Number( )
OVER ( PARTITION BY id_pere || to_char(date_debut,'yyyymmddHH24miss') || id_fils || to_char(date_fin,'yyyymmddHH24miss')
ORDER BY
id_pere
, date_debut
, id_fils
, date_fin )
num_ligne
FROM tmp t WHERE id_pere 1130451 AND id_fils 1084944 AND date_debut >= '01/05/2012' AND date_debut < '01/06/2012') t2
9 oct. 2012 à 11:55
11 juil. 2012 à 09:39
11 juil. 2012 à 09:28
Ca ne fonctionne pas chez moi, j'ai 4 champs qui me sert de clé dont 2 qui sont des dates. Pour une ligne qui n'est pas en doublon, la requete remonte un num_ligne = 2 donc cette ligne serait supprimée à tord.
select t2.* from (select t.*, rowid, row_number () over (partition by id_pere||date_debut||id_fils||date_fin order by id_pere, date_debut, id_fils, date_fin) num_ligne from tmp twhere id_pere 1130451 and id_fils 1084944 and date_debut >= '01/05/2012' and date_debut < '01/06/2012'
) t2
4 oct. 2011 à 10:23
La requête fonctionne très bien sous oracle 10g merci beaucoup!
30 oct. 2009 à 10:10
a bbbbb cccc eee 11111
elle devient
abbbbbcccceee11111
et merci d'avance
4 janv. 2009 à 02:53
Le code marche très bien sous Oracle 10g.Merci Lamjed
31 juil. 2008 à 18:05
19 nov. 2007 à 15:15
J'espère que ce code pourra être utile à quelqu'un.