Alimentation du Champ d'une table !! - SQL/NoSQL - Programmation
Marsh Posté le 24-06-2011 à 10:54:06
bonjour , je reviens vers vous pour solliciter votre aide parceque je suis vraiment bloqué sur le sujet !!!
Merci
Marsh Posté le 24-06-2011 à 13:25:13
Est-ce que tu pourrais donner la strucutre de tes tables? (type de champs et qui est clé étrangere de qui)
Ca aidera a comprendre un peu mieux ce qui se passe.
Marsh Posté le 28-06-2011 à 10:50:43
Oui bien ! Voici la structure des tables :
Table A : id float NUMERIC (5) clé étrangère de la Table C
ft NUMERIC (5) clé étrangère de la Table B
La table B: id float
Lib String
t1 float NUMERIC (3) clé étrangère de la Table C
t2 float NUMERIC (3) clé étrangère de la Table B
La table C : aid float NUMERIC (5)
t1 float NUMERIC (3 )
t2 float NUMERIC (3)
tr float NUMERIC (5)
Marsh Posté le 29-06-2011 à 09:14:14
Quel boxon dans le nom de tes colonnes
Va faloir renomer tout ca pour avoir quelque chose d'un peu plus lisible.
Si j'ai tout bien compris ca devrai fonctionner avec ca:
Code :
|
Marsh Posté le 01-07-2011 à 12:06:19
Bonjour, tout d’abords merci pour ton aide l’Update marche bien.
Cependant j’ai un autre souci il y a une autre condition qui s’est rajouté.
En effet b.t1 = c.t1 n’est possible que si c.o =1 et b.t2 = c.t2 que si c.o = 2.
Du coup en me basant sur le script j’ai refais deux script deux select qui me renvoi bien les valeurs souhaités.
1 / SELECT
v1.id,
formuleTypeId
FROM TableA a
JOIN TableC c ON c.aid = a.id
JOIN TableB b ON b.t1 = c.t1 AND c.o=1 AND c.tr = 3
2/ SELECT
v1.id,
formuleTypeId
FROM TableA a
JOIN TableC c ON c.aid = a.id
JOIN TableB b ON b.t2 = c.t2 AND c.o=2 AND c.tr = 3
Je voulais savoir comment faire une jointure de mes deux scripts de select ou si je pouvais le mettre sur un seul script ??
Marsh Posté le 01-07-2011 à 16:25:31
A vue de nez ca donnerai quelque chose comme ca (fait en vitesse sans verification, donc a prendre avec des pincettes):
Code :
|
Marsh Posté le 05-07-2011 à 16:45:51
Bonjour Oliiii
Sa marche sauf que sa me ramène pas le résultat attendue !
Et je pense que je n’ai pas du le préciser au début, en effet en lançant la requête
1. SELECT
2. a.id, b.t1, b.t2
3. formuleTypeId
4. FROM TableA a
5. JOIN TableC c ON c.aid = a.id
6. JOIN TableB b ON c.tr = 3 AND ((b.t1 = c.t1 AND c.o=1) OR (b.t2 = c.t2 AND c.o=2))
Je me rends compte qu’il me renvoi pas que les couples t1, t2 que je veux.
Pour être plus clair dans ma table B on le couple t1 t2 correspond a un libellé A avec un id 2.
Si t1=5, t2 =4, Lib = A, id = 3, en faisant la requête ci-dessus je dois récupérer le même couple .
Marsh Posté le 05-07-2011 à 16:48:02
Je me prend un peu la tête avec mon souci et je suis ptr pas trop clair mais je suis débutant en SQL . Merci de votre aide
Marsh Posté le 05-07-2011 à 17:04:21
Pour infos les deux requêtes d'avant me donnent les bon résultats :
1 / SELECT
v1.id,
formuleTypeId
FROM TableA a
JOIN TableC c ON c.aid = a.id
JOIN TableB b ON b.t1 = c.t1 AND c.o=1 AND c.tr = 3
2/ SELECT
v1.id,
formuleTypeId
FROM TableA a
JOIN TableC c ON c.aid = a.id
JOIN TableB b ON b.t2 = c.t2 AND c.o=2 AND c.tr = 3
Je pense faut juste que je trouve un moyen de pouvoir faire une jointure des deux qui pourra me renvoyer les bons résultats ( avec les bonnes couples ) .
Marsh Posté le 23-06-2011 à 15:51:05
Bonjour,
Je travaille sur des requêtes SQL plus précisément sur l’alimentation de table et J’ai un petit souci.
En fait j’ai 3 tables A ,B ,C
La table A : id , ft ( 2 , ? )
La table B : id , lib , t1 , t2 ( 55, école , 0,7 , 0,8 )
La table C : aid , t1 , t2 , tr ( 2 , 0,7 , 0,8, 3 )
Le but est d’alimenter le champ ft de la table A à partir des infos de la table B sachant que le champ tr de la table C doit être égale à 3.
J’aimerais savoir quels sont les requêtes pour alimenter ft dans la table A (sur ft on doit récupérer le champ id de la Table B ) ?