J ai une requete nec=E9ssitant un calcul relativement complexe et doit=20
afficher les lignes dont le calcul correspond =E0 un certain r=E9sultat.
Pour simplifier, voici une requete :
select chp1 + chp2 as calcul
from table
where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis=20
r=E9=E9crire le calcul) ?
select chp1 + chp2 as calcul from table where calcul > 5 and calcul < 10
SELECT (chp1 + chp2) as total FROM table WHERE ( ( (chp1 + chp2) > '5' ) AND ( (chp1 + chp2) < '10' ) )
pas d'alias dans le WHERE...
-- @@@@@ E -00 Padalias : le frêre grec de Padawan ! ' `) / |_ =="
Jerome PAULIN
Manu Pavy wrote:
Bonjour,
J ai une requete necéssitant un calcul relativement complexe et doit afficher les lignes dont le calcul correspond à un certain résultat. Pour simplifier, voici une requete :
select chp1 + chp2 as calcul from table where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis réécrire le calcul) ?
Merci,
Manu
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
havibg sert a filtrer la table resultat...
gg
Manu Pavy wrote:
Bonjour,
J ai une requete necéssitant un calcul relativement complexe et doit
afficher les lignes dont le calcul correspond à un certain résultat.
Pour simplifier, voici une requete :
select chp1 + chp2 as calcul
from table
where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis
réécrire le calcul) ?
Merci,
Manu
select chp1 + chp2 as calcul
from table
having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
J ai une requete necéssitant un calcul relativement complexe et doit afficher les lignes dont le calcul correspond à un certain résultat. Pour simplifier, voici une requete :
select chp1 + chp2 as calcul from table where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis réécrire le calcul) ?
Merci,
Manu
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
havibg sert a filtrer la table resultat...
gg
Manu Pavy
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
Manu
select chp1 + chp2 as calcul
from table
having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
Manu
Manu Pavy
Manu Pavy a fait part de :
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
Manu
J ai relu les caractéristiques de la clause HAVING, et ce que j avais e n tete etait que les conditions n etaient pas basées sur les données directes, mais sur des calculs de regroupements (qui concernent plusieurs lignes comme sum() count()) mais en fait, il s agit de toutes formes de calculs. Ca fait du bien de le revoir de temps en temps.
Bonne journée,
Manu
Manu Pavy a fait part de :
select chp1 + chp2 as calcul
from table
having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
Manu
J ai relu les caractéristiques de la clause HAVING, et ce que j avais e n
tete etait que les conditions n etaient pas basées sur les données
directes, mais sur des calculs de regroupements (qui concernent
plusieurs lignes comme sum() count()) mais en fait, il s agit de toutes
formes de calculs.
Ca fait du bien de le revoir de temps en temps.
select chp1 + chp2 as calcul from table having calcul>5 and calcul<10
(on aurai aussi pu mettre having calcul between 5 and 10)
Ok, merci pour cette info : c'est ce qu il me fallait.
Manu
J ai relu les caractéristiques de la clause HAVING, et ce que j avais e n tete etait que les conditions n etaient pas basées sur les données directes, mais sur des calculs de regroupements (qui concernent plusieurs lignes comme sum() count()) mais en fait, il s agit de toutes formes de calculs. Ca fait du bien de le revoir de temps en temps.
Bonne journée,
Manu
Fred BROUARD - SQLpro
bonjour,
Utiliser une clause HAVING pour un simple filtre WHERE est une grande bétise en plus d'être contre perfomant ! Ceux qui t'ont donné ce genre de conseil ne comprennent visiblement rien au langage SQL !
la solution est très simple :
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
mais il y a encore plus simple et plus performant :
select chp1 + chp2 as calcul from table where chp1 + chp2 BETWEEN 5 and 10
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Manu Pavy a écrit:
Bonjour,
J ai une requete necéssitant un calcul relativement complexe et doit afficher les lignes dont le calcul correspond à un certain résultat. Pour simplifier, voici une requete :
select chp1 + chp2 as calcul from table where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis réécrire le calcul) ?
Merci,
Manu
bonjour,
Utiliser une clause HAVING pour un simple filtre WHERE est une grande bétise en
plus d'être contre perfomant !
Ceux qui t'ont donné ce genre de conseil ne comprennent visiblement rien au
langage SQL !
la solution est très simple :
select chp1 + chp2 as calcul
from table
where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
mais il y a encore plus simple et plus performant :
select chp1 + chp2 as calcul
from table
where chp1 + chp2 BETWEEN 5 and 10
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Manu Pavy a écrit:
Bonjour,
J ai une requete necéssitant un calcul relativement complexe et doit
afficher les lignes dont le calcul correspond à un certain résultat.
Pour simplifier, voici une requete :
select chp1 + chp2 as calcul
from table
where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis
réécrire le calcul) ?
Utiliser une clause HAVING pour un simple filtre WHERE est une grande bétise en plus d'être contre perfomant ! Ceux qui t'ont donné ce genre de conseil ne comprennent visiblement rien au langage SQL !
la solution est très simple :
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
mais il y a encore plus simple et plus performant :
select chp1 + chp2 as calcul from table where chp1 + chp2 BETWEEN 5 and 10
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Manu Pavy a écrit:
Bonjour,
J ai une requete necéssitant un calcul relativement complexe et doit afficher les lignes dont le calcul correspond à un certain résultat. Pour simplifier, voici une requete :
select chp1 + chp2 as calcul from table where calcul > 5 and calcul < 10
Et je remarque que cela n'est pas possible. comment faire (hormis réécrire le calcul) ?
Merci,
Manu
Jerome PAULIN
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares, pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus proposer quelque chose en reponse à un post. A défaut d'être la meilleure reponse, ma reponse avait au moins le merite d'exister !!!
gg
select chp1 + chp2 as calcul
from table
where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares,
pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus
proposer quelque chose en reponse à un post. A défaut d'être la
meilleure reponse, ma reponse avait au moins le merite d'exister !!!
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares, pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus proposer quelque chose en reponse à un post. A défaut d'être la meilleure reponse, ma reponse avait au moins le merite d'exister !!!
gg
Fred BROUARD - SQLpro
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas provenir des données sources. Cela réalise des opérations complémentaires d'entrée/sortie très pénalisante. Donner des conseils, c'est bien, si s'en est des bons. Mais là c'est plus que limite... et ne pas savoir ce genre de choses basiques en donnant des conseils ne fait pas franchement progresser la culture sur le sujet, ce serait même plutôt l'inverse et embrouille les gens.
C'est plutôt tristement affligeant.
Désolé d'être aussi dur.
Essayez au moins de vous intéresser à la chose !
A +
Jerome PAULIN a écrit:
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares, pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus proposer quelque chose en reponse à un post. A défaut d'être la meilleure reponse, ma reponse avait au moins le merite d'exister !!!
gg
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas provenir
des données sources.
Cela réalise des opérations complémentaires d'entrée/sortie très pénalisante.
Donner des conseils, c'est bien, si s'en est des bons.
Mais là c'est plus que limite...
et ne pas savoir ce genre de choses basiques en donnant des conseils ne fait pas
franchement progresser la culture sur le sujet, ce serait même plutôt l'inverse
et embrouille les gens.
C'est plutôt tristement affligeant.
Désolé d'être aussi dur.
Essayez au moins de vous intéresser à la chose !
A +
Jerome PAULIN a écrit:
select chp1 + chp2 as calcul
from table
where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares,
pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus
proposer quelque chose en reponse à un post. A défaut d'être la
meilleure reponse, ma reponse avait au moins le merite d'exister !!!
gg
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas provenir des données sources. Cela réalise des opérations complémentaires d'entrée/sortie très pénalisante. Donner des conseils, c'est bien, si s'en est des bons. Mais là c'est plus que limite... et ne pas savoir ce genre de choses basiques en donnant des conseils ne fait pas franchement progresser la culture sur le sujet, ce serait même plutôt l'inverse et embrouille les gens.
C'est plutôt tristement affligeant.
Désolé d'être aussi dur.
Essayez au moins de vous intéresser à la chose !
A +
Jerome PAULIN a écrit:
select chp1 + chp2 as calcul from table where (chp1 + chp2) > 5 and (chp1 + chp2) < 10
Bonjour, monsieur jesuisleroiduSQLetjesaistoutmieuxquelesautresignares, pourkoi tu ne cree pas fr.com.application.FREDBROUARD si on ne peut plus proposer quelque chose en reponse à un post. A défaut d'être la meilleure reponse, ma reponse avait au moins le merite d'exister !!!
gg
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
P'tit Marcel
Fred BROUARD - SQLpro wrote:
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas provenir des données sources. Cela réalise des opérations complémentaires d'entrée/sortie très pénalisante.
Dans ce cas de SELECT avec une seule colonne et sans GROUP BY, je ne vois pas la surcharge que provoquerait HAVING par rapport à WHERE.
Dans les deux cas, le calcul doit être effectué avant de pouvoir filtrer les lignes. Seules les données servant au filtre sont à renvoyer.
Fred BROUARD - SQLpro wrote:
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas
provenir des données sources.
Cela réalise des opérations complémentaires d'entrée/sortie très
pénalisante.
Dans ce cas de SELECT avec une seule colonne et sans GROUP BY, je ne
vois pas la surcharge que provoquerait HAVING par rapport à WHERE.
Dans les deux cas, le calcul doit être effectué avant de pouvoir filtrer
les lignes. Seules les données servant au filtre sont à renvoyer.
HAVING n'a d'intérêt que pour filtrer des résultats qui ne peuvent pas provenir des données sources. Cela réalise des opérations complémentaires d'entrée/sortie très pénalisante.
Dans ce cas de SELECT avec une seule colonne et sans GROUP BY, je ne vois pas la surcharge que provoquerait HAVING par rapport à WHERE.
Dans les deux cas, le calcul doit être effectué avant de pouvoir filtrer les lignes. Seules les données servant au filtre sont à renvoyer.