Création d'une requête SQL

Fermé
helene75b Messages postés 3 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 2 février 2012 - Modifié par helene75b le 2/02/2012 à 11:53
 Joe - 2 févr. 2012 à 17:42
Bonjour,

J'ai besoin de mettre en place une requête qui puisse insérer une ligne dans le table TABLE3 à partir de 2 autres tables TABLE1 et TABLE2

Comment générer la ligne de TABLE3 à partir d'une requête

Ma table1
DPT | VLLE
75 | PARIS
78 | VERSAILLES
72 | LE MANS
[...]

Ma table2
DPT | NOM | NBRE | REFER
75 | DUPOND | LP15 | 1589

Ma table3 Résultat de la ligne que je dois insérer
VLLE | DPT | JOUDATE | TYPE | NBRE | REFER
PARIS | 75 | VENDREDI 21 NOVEMBRE 2011 | LP | 15 | 1589

Pour l'insertion des valeurs en colonnes TYPE et NBR en TABLE3 je dois partir de la colonne NBRE de TABLE2 et extraire le LP puis le 15 et l'insérer dans TYPE et NBRE de TABLE3
Pour la colonne VLLE de TABLE3 je dois faire une comparaison de la colonne DPT de TABLE2 avec la colonne DPT de TABLE1 et suivant égalité insérer la ville en colonne VLLE dans TABLE3 et LA valeur DPT correspondante en colonne DPT de TABLE3

Est-il possible de générer dans la même requête la date dans la colonne JOURDATE


Désolé je n'arrive pas à cadrer mes champs proprement le caractère | me sert de délimiteur de champ
A voir également:

6 réponses

reporteur Messages postés 20 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 2 février 2012 7
2 févr. 2012 à 12:15
Là, il me semble qu'il faut faire une requête imbriquée, qui prenne quelques champs de ta TABLE 1 ; quelques champs de ta TABLE 2 pour former à la fin ton résultat de ta TABLE 3
0
helene75b Messages postés 3 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 2 février 2012
2 févr. 2012 à 13:57
Oui je suis d'accord par contre es-ce que quelqu'un peu me donner le code qu'il faut mettre en place pour le faire

Merci d'avance
0
Voila toujours une base de travail. Il ne reste plus qu'à modifier le format de la date et à splitter le type.


insert into table3(ville, dpt, joudate, type, refer)
select table1.ville, table1.dept, CONVERT(VARCHAR(20), GETDATE(), 100), table2.nbre, table2.refer
from table1, table2
where table1.dpt = table2.dpt
0
helene75b Messages postés 3 Date d'inscription jeudi 2 février 2012 Statut Membre Dernière intervention 2 février 2012
2 févr. 2012 à 17:07
Merci Joe

Par contre la fonction CONVERT(VARCHAR(20), GETDATE(), 100), ne fonctionne pas dans ma requête

Le message d'erreur est le suivant

GETDATE de type *N dans *LIBL non trouvé

Pour info je travail sur un système Iseries AS400 je sais pas si ça à un lien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Effectivement, les instructions SQL ont un lien direct avec le SGBD utilisé.

Je ne connais pas le système Iseries AS400 ...

Mais il est souhaitable d'identifier avec précision le type de SGBD.

Oracle, SQLServeur, MySQL, etc ...

Ensuite le choix des instructions sera évident.

Ex.: sous Oracle, on écrirait [ SYSDATE ] au lieu de [ GETDATE ] pour
obtenir la date du jour.

Cdt

Lupin
0
Effectivement tu peux essayer SYSDATE() à la place de GETDATE() ou NOW() si tu utilises mysql.
0