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

Développement SQL Server Discussion :

Comment faire un select imbriqué dans un insert ? [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut Comment faire un select imbriqué dans un insert ?
    Bonsoir,
    Je cherche à faire le "insert into ... select..." en 1 seul requête absolument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create table #temp (NewCLO varchar(30), cref varchar(30), PreviouscniID int, newclonID int)
    insert into #temp (NewCLO, cref, PreviouscniID, newclonID)
    select 'titi ', 'tata ', cni.cniID
    from cni, ci, ch
    where cni.nutc = 'CLO'
      and cni.ciID = ci.ciID
      and ci.chID = ch.chID
      and ch.cref = 'tata'
      and cni.nims = 1, (select nID from n where rref = 'titi')
    Mais le select "imbriqué" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (select nID from n where rref = 'titi')
    fait que ça ne fonctionne pas.
    Comment est-ce que je peux écrire cela pour que ça fonctionne en 1 requête s'il vous plaît ?
    Merci,

  2. #2
    Invité
    Invité(e)

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    Ma table n n'a pas de lien avec les autres tables avec lequel je pourrais faire une jointure.
    J'ai essayé de simplifier ma requête pour vous la resoumettre de manière plus épurée et là ca fonctionne mais je ne comprends pas la différence avec mon 1er message pourtant... Vous voyez pourquoi ça ne marchait pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    create table temp (col0 varchar(10),col1 int, col2 int)
    create table a (col3 int, col4 varchar(10))
    create table b (col5 int, col6 varchar(10))
    insert into a select 11, 'tata'
    insert into a select 12, 'fgdf'
    insert into b select 13, 'titi'
    insert into b select 14, 'tory'
     
    insert into temp (col0, col1, col2)
    select 'truc', col3, (select col5 from b where b.col6 = 'titi')
    from a where a.col4 = 'tata';

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jmclej Voir le message
    J'ai essayé de simplifier ma requête pour vous la resoumettre de manière plus épurée et là ca fonctionne mais je ne comprends pas la différence avec mon 1er message pourtant... Vous voyez pourquoi ça ne marchait pas ?
    L'emplacement de la sous requête

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2004
    Messages
    415
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 415
    Points : 138
    Points
    138
    Par défaut
    A ouiiiiii effectivement, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire un select imbriqué
    Par Invité dans le forum jQuery
    Réponses: 1
    Dernier message: 16/07/2013, 16h19
  2. Réponses: 2
    Dernier message: 29/11/2010, 15h01
  3. [AC-2000] Select imbriqué dans insert
    Par Qinqin dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/09/2010, 09h14
  4. SELECT imbriqué dans INSERT
    Par vidad10 dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/09/2010, 18h17
  5. comment faire un select imbriqué
    Par Wedge3D dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/02/2008, 11h47

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