nouveau casse tête signé toto 37

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : nouveau casse tête signé toto 37

par ouckileou » 15 juin 2006, 00:02

Pourquoi il est marqué résolu ce topic ?

Tu fais quoi du coup toto37 ? tu suis les remarques ou tu t'en tapes ?

Non parceque je vois que t'es bien actif dans d'autres sujets donc pourquoi pas dans celui-là... :roll:

par Augure » 14 juin 2006, 18:12

J'ai un doute sur la possibilité de fusionner les requêtes 1 et 2 :

en effet si certif.c_picto='12531254' alors cette ligne devrait compter une fois pour la requête 1 et une fois pour la requête 2.

Comme le but est de ne parcourir qu'une fois les données on ne pourra pas compter cette ligne deux fois.

par sadeq » 14 juin 2006, 15:43

bien vu, on n'est pas là pour porter un challenge quelconque mais seulement pour comprendre et répondre dans la mesure du possible.

Mais à première vue, tes 2 premières requêtes peuvent être assemblées par un OR entre les Like, comme le fait la 3° qui à son tour est exactement le contraire des 2.
Ce qui veut dire que l'assemblage des 3 requetes remet en cause le rôle du like

Ce qui veut dire que l'assemblage des 2 premières avec la 3° en une seule par un ET produit une condition Like fausse:
(A = 1 ou A = 2 ) ET (A != 1 et B != 2) = Faux

et l'assemblage des 2 premières avec la 3° en une seule par un OU produit une condition Like vraie:
(A = 1 ou A = 2 ) OU (A != 1 et B != 2) = Vrai

Re: nouveau casse tête signé toto 37

par ouckileou » 14 juin 2006, 15:29

qui s'y colle?
Personne tant que t'auras pas choisi un titre plus en rapport avec ton problème ;)

Et même si c'est dit gentiment, je serais toi j'étofferais un peu mon message en expliquant mieux ce que j'attends car je ne suis pas sûr que le côté "challenge" avec du SQL à déchiffrer intéresse tout le monde :lol:

nouveau casse tête signé toto 37

par toto37 » 14 juin 2006, 15:22

qui serai capable de me transformer ceci en une seule requete avec des alias?
jy suis presque arrivais mais j'ai tj des erreur a causes des alias:

Code : Tout sélectionner

SELECT COUNT (t_id) FROM transactions INNER JOIN certif ON certif.c_id = transactions.t_cid WHERE transactions.t_typeabo = 2 and certif.c_picto like '%'+'1254'+'%' and transactions. t_date>@tim -86400 SELECT COUNT (t_id) FROM transactions INNER JOIN certif ON certif.c_id = transactions.t_cid WHERE transactions.t_typeabo = 2 and certif.c_picto like '%'+'1253'+'%' and transactions. t_date>@tim -86400 SELECT COUNT (t_id) FROM transactions INNER JOIN certif ON certif.c_id = transactions.t_cid WHERE transactions.t_typeabo = 2 and (( certif.c_picto not like '%'+'1253'+'%' and certif.c_picto not like '%'+'1254'+'%') or c_picto is null ) and transactions. t_date>@tim -86400
qui s'y colle?