Ligne répétée - SQL/NoSQL - Programmation
Marsh Posté le 15-12-2008 à 16:34:29
En faisant une jointure correcte? (en général, avoir plusieurs résultats identiques signifie que tu as oublié un critère dans ton select)
En utilisant distinct?
Marsh Posté le 15-12-2008 à 16:37:22
donne ta requête, j'aimerais bien voir ça.
Marsh Posté le 15-12-2008 à 17:42:53
un exemple de résultat incorrect?
Marsh Posté le 16-12-2008 à 16:37:42
ah ben si tes demandeurs sont en double dans la base ça explique le problème effectivement.
Marsh Posté le 16-12-2008 à 17:33:45
ReplyMarsh Posté le 16-12-2008 à 18:15:36
Harkonnen a écrit :
|
c'est les jointures old-school qui te plaisent pas?
Marsh Posté le 16-12-2008 à 18:25:15
Moi c'est surtout le
Citation : tic.ticket_libelle like '%mot de passe%' OR tic.ticket_detail like '%mot de passe%' |
qui m'a surpris.
Marsh Posté le 16-12-2008 à 18:47:35
esox_ch a écrit : Moi c'est surtout le
qui m'a surpris. |
bof, ilc herches les problèmes de mot de passe?
Marsh Posté le 17-12-2008 à 09:05:24
skeye a écrit : |
tootafé ! je trouve ça particulièrement dégueulasse et ça n'a rien à voir avec la sémantique de la jointure
- quand tu as plein de WHERE dans ta requête, c'est plus dur de faire le distingo entre les WHERE filtrants et les WHERE de jointure
- un WHERE est fait pour filtrer, pas pour élargir
- si tu vires le WHERE à des fins de tests en oubliant de virer la table jointe dans le FROM, le SGBD ne te pète pas d'erreur. tu te retrouves avec un produit cartésien, qui peux mettre à genoux ton serveur
- ....
bref, le WHERE est à proscrire pour les jointures
Marsh Posté le 17-12-2008 à 09:08:38
Harkonnen a écrit :
|
Quand j'écris mes jointures autrement ma chef comprend pas.
Marsh Posté le 17-12-2008 à 09:15:47
skeye a écrit : |
t'attends quoi pour prendre sa place ?
Marsh Posté le 17-12-2008 à 09:52:34
Harkonnen a écrit : |
rien...en janvier on réorganise le service, elle monte d'un cran avec plus de management et moins de tech, et moi je monte d'un cran aussi, en prenant une partie de ses responsabilités actuelles.
Marsh Posté le 15-12-2008 à 16:00:10
Si t'as une relation 1-N entre une table1 et table2 et que tu fais
select * from table1 left join table2 on table1.id=table2.id_table1
Tu auras N lignes résultantes pour chaque enregistrement de ta table1