Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > Deski
Deski Forum d'entraide Deski (client lourd)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2010, 11h14   #1
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Par défaut Comment récupérer une valeur conditionnée par un Min

Bonjour a tous,

Je vous sollicite de nouveau

Voilà, je dois récupérer la 1ère commande par client
Dans mon univers j'ai donc les objets
- N° client
- N° de commande
- Date de commande

Il faudrait que je crée l'objet 1ère commande mais je n'arrive pas à rajouter dans la clause where une sous-requete
j'obtiens un message d'erreur, il refuse mon agrégat min sur la date de commande

Comment dois-je procéder?

Merci
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 11h50   #2
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Bonjour,

Je te renvoie à cette discussion
Ca répondra normalement à ton besoin.
Bon courage
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 13h37   #3
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Voici le SQL de ma table dérivée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
SELECT RANK(1) OVER(PARTITION BY ID_NUMBER,
HEADER_NUMBER, DETAIL_NUMBER ORDER BY DETAILS_DATE ASC) AS ID_NUMBER,
HEADER_NUMBER,
DERAIL_NUMBER,
DETAILS_DATE
FROM 
SA.TABLE_CASE,
SA.TABLE_DEMAND_HDR,
SA.TABLE_DEMAND_DTL
WHERE
SA.TABLE_CASE.OBJID = SA.TABLE_DEMAND_HDR.CASEINFO2CASE
AND SA.TABLE_DEMAND_HDR.OBJID = SA.TABLE_DEMAND_DTL.DEMAND_DTL2DEMAND_HDR
En vérifiant la syntaxe, j'ai le message suivant

Citation:
Exception: DBD, ORA-02000 : mot-clé WITHIN absent State:N/A
Où est l'erreur?

Merci
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 13h52   #4
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
J'ai trouvé l'erreur. C'était le rank(1). Je pensais pouvoir filtrer directement

par contre, pour les jointures, faut-il que je reproduise les mêmes jointures que sur la table d'origine?
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 14h06   #5
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Tu fais les jointures qui t'intéressent selon ton univers
Tu peux faire très bien faire ta jointure sur :
- N° client
- N° de commande
par exemple.
C'est selon ton besoin, mais a priori c'est ce dont tu as besoin.
Bon courage
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 14h38   #6
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Ce n'est pas clair pour moi, désolée

Dans mon univers, j'ai 3 tables :
Table des clients
Table des commandes
Table des lignes commandes

Les jointures sont
- entre client et commandes avec une jointure externe sur commandes
- entre commandes et lignes commandes

J'ai créé une table dérivée reprenant les champs client, commande, ligne commande et date de création de la ligne

Quelles jointures dois-je reproduire pour sortir par client la 1ère commande passée?
Entre la table client et ma table dérivée?

Merci
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h06   #7
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Oui, entre la table client et la table dérivée.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h08   #8
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Merci
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 19h24   #9
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Dernière question je l'espère.

Mon univers a comme table principale la table commande.
Il existe une jointure externe entre la table commande et la table client.

Suite à la création de ma table dérivée, faut il que je crée une jointure externe également sur ma table dérivée avec la même table commande?

Le but est de créer un état reprenant tous les clients et les infos du clients présent dans un univers A et récupérer par une requête liée la 1ère commande du client. Cette info peut ne pas exister pour le client.
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 22h06   #10
Modérateur
 
Avatar de Chtulus
 
Homme Cédric
Cherche à comprendre
Inscription : avril 2008
Messages : 2 264
Détails du profil
Informations personnelles :
Nom : Homme Cédric
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Cherche à comprendre

Informations forums :
Inscription : avril 2008
Messages : 2 264
Points : 4 422
Points : 4 422
Envoyer un message via MSN à Chtulus Envoyer un message via Skype™ à Chtulus
Bonsoir,

Question bête

Des jointures normalisées, c'est pas possible ?

__________________
- De quelque manière qu'on s'y prenne on s'y prend toujours mal -
-Sigmund Freud-

Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office

Chtulus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 09h05   #11
Futur Membre du Club
 
Inscription : mai 2007
Messages : 49
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 49
Points : 15
Points : 15
Bonjour,

Qu'entend tu par jointure normalisée?
Jihane75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 09h48   #12
Modérateur
 
Avatar de Julien59
 
Julien Lizzul
Inscription : mars 2008
Messages : 1 103
Détails du profil
Informations personnelles :
Nom : Julien Lizzul
Âge : 25
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2008
Messages : 1 103
Points : 1 295
Points : 1 295
Si je me souviens bien de mes cours :p :
Code :
1
2
3
SELECT 1 FROM 
tableA, TABLE B
WHERE tableA.champ1 = tableB.champ1
n'est pas normalisé et
Code :
1
2
3
SELECT 1 FROM tableA 
INNER JOIN tableB 
ON tableA.champ1 = tableB.champ1
Est normalisé.
__________________
  • Pensez à consulter la FAQ BO
  • Quand votre problème est solutionné, n'oubliez pas de cliquer sur le bouton
Julien59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h27.


 
 
 
 
Partenaires

Hébergement Web