Pourquoi demander à mysql de te renvoyer tous les champs si tu veux justes savoir le nombre de tupples du résultat ? Pourquoi ne pas simplement demander à mysql de la faire lui même, ce qui reduirait les risques de résultats ambigus du à une jointure *douteuse* ?
(voir instruction SUM et DISTINCT
)
//edit :
Le nombre de résultat de la requête
Code :
- SELECT * FROM bat1 , devis1 WHERE bat1.id='$id_test' AND devis1.id='$id_test' AND bat1.newold='OLD' AND devis1.newold='OLD'
|
n'est pas incohérent, il est au contraire parfaitement logique :
bat1 devis1 resultat
2 + 0 = 0 aucun résultat pour devis 1, y en forcément pas non plus pour les deux requêtes mises en commun
2 + 1 = 2
2 + 2 = 4
2 + 3 = 6
Les trois autres cas viennent du fait que tu mélanges 2 tables sans faire de jointures, tous les résultats de l'une sont multipliés par tous les résultats de l'autre (fait un select sans le where pour t'en convaincre, tu auras au total bat1*devis1 résultats
)
Message édité par naceroth le 16-01-2004 à 18:04:11