requete sql help!!

requete sql help!! - Programmation

Marsh Posté le 04-10-2001 à 14:15:13    

voici mon probleme...
 
select chantier.*,photo.* from chantier,photo where  
chantier.id_chantier=photo.id_chantier and chantier.id_chnatier=1
 
Donc la tout ce passe bien....mais dans certain cas il est possible qu'un chantier n'est pas de photo et là la requete ne renvoie plus rien, alors que dans ce cas j'aimerais avoir quand meme les enregistrements de la table chantier!!!
 
Union n'est pas possible j'ai pas le meme nombre d'enregistrement de part et d'autre!!
 
Quelqu'un peut il m'aider

Reply

Marsh Posté le 04-10-2001 à 14:15:13   

Reply

Marsh Posté le 04-10-2001 à 14:40:07    

Salut!
si ta colonne de jointure est facultative, il te faut utiliser une jointure ouverte :
table1.macle =* table2.macle
l'* indique de faire la jointure même si la col est vide. Voir dans une doc de ton sgbd de quel côté il faut mettre l'* (je m'en souviens jamais). Je crois qu'il faut la placer du côté où la col peut être à null.


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 04-10-2001 à 14:47:59    

ou interessant!! je ne connais pas je vais voir dans le doc je bosse avec access!!

Reply

Marsh Posté le 04-10-2001 à 14:49:45    

ca m'interesse si ca marche et que ta fais des mofifications pour que ca marche tiens moi au courant ca m'interesse ;)

Reply

Marsh Posté le 04-10-2001 à 14:50:39    

le * passe pas et ce de n'importe quel coté!! dur dur!!!
peut etr ema structure de base de données est foireuse j'aurais peut etre du faire les tables autrement???

Reply

Marsh Posté le 04-10-2001 à 14:54:20    

tu ne peu pas séparer ta requete en 2 ? (la j'improvise) ;)
 
mais moi aussi j'aimerais avoir une réponse a ce super topic , car j'ai excatement le meme pb  :D

Reply

Marsh Posté le 04-10-2001 à 15:39:07    

Oh les gars, y faut vous mâcher le travail ??? :fou:  
je viens d'aller voir dans une doc access ; ça s'appelle left join et right join.
Astuce : pour trouver des infos sur ça, taper "jointure" dans l'aide de Access. :D


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 04-10-2001 à 15:55:46    

Et oui, acces, c'est pas les même extension d'SQL que dans les autres bdd.

Reply

Marsh Posté le 04-10-2001 à 16:01:31    

dur le instantdharma
un peu de délicatesse ne fais de mal
si tu ne veux pas nous macher le travil ne viens pas ds le forum ou répond pas a ce topic  
 
bon allez pas grave ;)
 
merci @++

Reply

Marsh Posté le 04-10-2001 à 16:06:05    

ou lala les gards vous enervez pas....
Alors oui le left joint marche tres bien et est parfaitement adapté à ce probleme...
Mais reste un petit hic...
un chantier contient plusieurs photos ça d'accord, et si j'ai plusieurs photo ben en faite j'ai autant de fois les mêmes resultats de la table chantier que j'ai de photo.
Donc si je veux parcourrir les recodrsets (ASP) ben j'ai plusieurs fois la meme valeur :(
Donc deux requetes!!
Merci @ tous :bounce:

Reply

Marsh Posté le 04-10-2001 à 16:06:05   

Reply

Marsh Posté le 04-10-2001 à 16:08:58    

y a pas de lezard faut un peu de brutalité ds ce monde pleins de tendresse  :D  
 
mais c pas mechant  ;)  
@+++

Reply

Marsh Posté le 04-10-2001 à 16:11:30    

saxgard>j'ai répondu à la question, mais faut quand même prendre la peine d'ouvrir la doc... sache que j'ai pris sur mon temps de travail  :D pour aller te chercher l'info alors que je connais pas access. En clair, je me suis levé le maffre pour toi  :sarcastic: et tio, tu m'allumes :cry:


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 04-10-2001 à 16:20:25    

mais non je t'allume pas  ;)  me suis juste senti agresser c tt , mais ce qui faut comprendre c que des fois on pense pas a chercher a certain endroits , parceque ca nous viens pas a l'idée qu'il existe quelquechose faisant tel ou tel opération , alors des fois on se casse la tete pour pas grand chose,( bien souvent).
NB: moi aussi je prends sur mon temps de travail pour répondre au pb des autres mais je le fais avec plaisir meme si la question est de niveau débutant  :D  
 
mais c pas grave , mais c sympas de ta part d'avoir chercher malgré tt, merci  
sans rancune?  ;)  
 
@++

 

[edtdd]--Message édité par saxgard--[/edtdd]

Reply

Marsh Posté le 07-10-2001 à 05:30:05    

si tu veux pas plusieurs fois la même ligne.. fo un distinct ou un group by !!!
 
Ya des infos parmi celles que tu récupères avec ton select qui sont certainement inutiles (que tu n'as pas besoin de récupérées).
Dans ce cas, ne récupères que les infos dont tu te sers, ainsi tu n'auras qu'une seule fois les lignes voulues.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed