IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

[Oracle] SELECT et une condition IF => possible ?


Sujet :

Langage SQL

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Est ce que le code de vincent-D donne la même chose que le mien ?

    ***** LUI ******************************************

    UPDATE projet
    SET LivO/N = 'NON'
    WHERE numprojet IN (
    SELECT numprojet FROM ov
    WHERE dateliv > sysdate)

    ***** MOI *****************************************

    UPDATE projet
    SET LivO/N = 'NON'
    WHERE numprojet IN (SELECT numprojet
    FROM OV v , projet p
    WHERE numprojet.v = numprojet.p
    AND dateliv > sysdate)

  2. #22
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 43
    Points
    43
    Par défaut
    Oui... Mais je conseille le mien.
    Attention à ta syntaxe il faut utiliser p.dateliv et non dateliv.p

  3. #23
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    philuciole, cela métonnerais que ta requete fonctionne...

  4. #24
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    Citation Envoyé par Cybher
    philuciole, cela m'étonnerait que ta requete fonctionne...
    tu ne précise pas dans ton select dans quelle table tu vas chercher ton numproject (il va ya voir conflit) et c'est nomtable.nomcolonne et pas l'inverse.

    de plus la requete proposée est plus simple et te prendra moins de temps a l'exécution

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Points : 12
    Points
    12
    Par défaut
    Vincent.D & Cybher j'ai remarqué mes erreurs de syntaxe [Table.Nom champs].
    Merci de vos conseils.

  6. #26
    Membre régulier
    Inscrit en
    Septembre 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 63
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par philuciole
    UPDATE projet
    SET LivO/N = 'NON'
    WHERE numprojet IN (SELECT numprojet
    FROM OV v , projet p
    WHERE numprojet.v = numprojet.p
    AND dateliv > sysdate)
    Je considere ta requete meilleur malgrés les erreurs de syntaxe !
    Explication :
    Il s'avere que personne ne sait ce que contient réelement ces deux tables si ce n'est 3 / 4 champs... Donc vu que nous savons que les deux tables ont un champ en commun 'numprojet' je considere cette version meilleur sinon on a un risque de ce retrouver avec un produit cartesien et que chacun des codes 'numprojet' existe bien dans ces deux tables.

    La version que je proposerais serait celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     UPDATE projet
    SET LivO/N = 'NON'
    WHERE numprojet IN (SELECT v.numprojet
    FROM OV v , projet p
    WHERE v.numprojet = p.numprojet
    AND v.dateliv > sysdate)

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [MySQL-5.5] Select Where une condition unique
    Par Floyus dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/05/2013, 09h28
  2. Requête avec une condition, est-ce possible ?
    Par le_chomeur dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/07/2010, 16h10
  3. Réponses: 4
    Dernier message: 02/11/2009, 12h28
  4. select suivant une condition?
    Par cortex024 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 28/06/2007, 19h03
  5. emploi d'un sub select dans une procédure - Oracle 8i -
    Par mike devimo dans le forum Oracle
    Réponses: 2
    Dernier message: 29/03/2006, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo