Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
831 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] une pitite requete ....

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[SQL] une pitite requete ....

n°318034
Profil sup​primé
Posté le 26-02-2003 à 09:57:30  answer
 

voila, j'ai une table du type
 
n° | truc
---------
1  | A
2  | B
3  | B
2  | A
1  | C
 
 
et je veut recuperer le n° qui comme "truc" 'A' et 'B'.
 
bon ici, je dois recuperer comme n°, 2.

mood
Publicité
Posté le 26-02-2003 à 09:57:30  profilanswer
 

n°318044
Hermes le ​Messager
Breton Quiétiste
Posté le 26-02-2003 à 10:12:36  profilanswer
 

where est ton ami. RTFM  :whistle:

n°318046
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-02-2003 à 10:17:23  profilanswer
 

Hermes le Messager a écrit :

where est ton ami. RTFM  :whistle:  


Bin écoute, t'as réussi à décrypter la question, chapeau [:prosterne] Passke moi j'ai rien compris [:joce]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°318064
Suri
Darksurious
Posté le 26-02-2003 à 10:35:12  profilanswer
 

Taiche a écrit :


Bin écoute, t'as réussi à décrypter la question, chapeau [:prosterne] Passke moi j'ai rien compris [:joce]


select * from table where n°=2 :??:


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°318084
gloop
Posté le 26-02-2003 à 10:47:23  profilanswer
 

Suri a écrit :


select * from table where n°=2 :??:


c'est l'inverse qu'il veut, mais c'est tout aussi simple  :(

n°318146
Mr yvele
yvele n'est plus.
Posté le 26-02-2003 à 11:22:03  profilanswer
 

gloop a écrit :


c'est l'inverse qu'il veut, mais c'est tout aussi simple  :(  


 
 :??:  mais nan..
 

Citation :

bon ici, je dois recuperer comme n°, 2.


 
sinon c'est clair que c'est pas tres explicite..  :sweat:


---------------
yvele n'est plus.
n°318154
Profil sup​primé
Posté le 26-02-2003 à 11:24:49  answer
 

gloop a écrit :


c'est l'inverse qu'il veut, mais c'est tout aussi simple  :(  


 
 
fo tu m'expliques comment tu fais alors ...

n°318157
urd-sama
waste of space
Posté le 26-02-2003 à 11:27:16  profilanswer
 

si j'ai bien compris, il veut récupérer les numéros qui possède les enregistrement A et B

n°318163
Profil sup​primé
Posté le 26-02-2003 à 11:30:22  answer
 

Mr yvele a écrit :


sinon c'est clair que c'est pas tres explicite..  :sweat:  


 
je suis désolé si c pas clair. je voudrais récupérer le n° pour lequel l'ensemble des attributs 'truc' est égale à un ensemble de valeur.
 
dans l'exemple, si l'ensemle est ('A', 'B';) je récupère logiquement d'après la table la valeur 2 (attribut n°)
 
bon j'espère que c un peu plus clair

n°318165
Profil sup​primé
Posté le 26-02-2003 à 11:30:39  answer
 

Urd-sama a écrit :

si j'ai bien compris, il veut récupérer les numéros qui possède les enregistrement A et B


 
oui, c ca !

mood
Publicité
Posté le 26-02-2003 à 11:30:39  profilanswer
 

n°318181
Hermes le ​Messager
Breton Quiétiste
Posté le 26-02-2003 à 11:39:18  profilanswer
 

where truc='A' AND truc='B'  :whistle:

n°318199
Profil sup​primé
Posté le 26-02-2003 à 11:56:52  answer
 

Hermes le Messager a écrit :

where truc='A' AND truc='B'  :whistle:  


 
 
mais bien sur ! :sarcastic:

n°318200
Arrakis99
Posté le 26-02-2003 à 11:57:12  profilanswer
 

Hermes le Messager a écrit :

where truc='A' AND truc='B'  :whistle:  


 
 :jap:  :jap:  
Le plus dur c'est pas la requête, c'est de comprendre la question  :whistle:  :whistle:

n°318203
walli
Posté le 26-02-2003 à 12:00:55  profilanswer
 

question posée à 9h47.
réponse donée à 11h39...
Moralité, les forums c'est bien, mais tu aurais sûrement eu ta solution plus vite si tu t'étais un minimum creusé la tête !!!!

n°318208
tomlameche
Et pourquoi pas ?
Posté le 26-02-2003 à 12:09:16  profilanswer
 

Hermes le Messager a écrit :

where truc='A' AND truc='B'  :whistle:  


 :non:  
truc='A' OR truc='B'
Bon sang de bois, tu vas l'embrouiller !
Allez, soyons aimable aujourd'hui, et découvrons ensemble ( ceci ne s'adresse plus à Hermes, mais à Kurt Haribo ):
where truc in ( 'A','B' ... )
 :ange:


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°318210
Profil sup​primé
Posté le 26-02-2003 à 12:11:02  answer
 

walli a écrit :

question posée à 9h47.
réponse donée à 11h39...
Moralité, les forums c'est bien, mais tu aurais sûrement eu ta solution plus vite si tu t'étais un minimum creusé la tête !!!!
 


 
je sais que j'aurais pu chercher ! mais bon les trucs du genre truc ='a' et truc ='b', tu vois pas quelquechose qui cloche la dedans ?

n°318211
Profil sup​primé
Posté le 26-02-2003 à 12:11:48  answer
 

tomlameche a écrit :


 :non:  
truc='A' OR truc='B'
Bon sang de bois, tu vas l'embrouiller !
Allez, soyons aimable aujourd'hui, et découvrons ensemble ( ceci ne s'adresse plus à Hermes, mais à Kurt Haribo ):
where truc in ( 'A','B' ... )
 :ange:  


 
ESt ce que il y a quelq'un qui connaissent un minimum sql ?

n°318213
Arrakis99
Posté le 26-02-2003 à 12:11:55  profilanswer
 

tomlameche a écrit :


 :non:  
truc='A' OR truc='B'
Bon sang de bois, tu vas l'embrouiller !
Allez, soyons aimable aujourd'hui, et découvrons ensemble ( ceci ne s'adresse plus à Hermes, mais à Kurt Haribo ):
where truc in ( 'A','B' ... )
 :ange:  


 
Non je pense que c'est bien AND, il veut que 'truc' ait comme valeur 'A' et comme autre valeur 'B' pour un même 'n°'

n°318214
Profil sup​primé
Posté le 26-02-2003 à 12:12:50  answer
 

arrakis99 a écrit :


 
Non je pense que c'est bien AND, il veut que 'truc' ait comme valeur 'A' et comme autre valeur 'B' pour un même 'n°'  


 
fo m'expliquer comment une instance d'un attribut peut posséder deux valeur ?

n°318218
tomlameche
Et pourquoi pas ?
Posté le 26-02-2003 à 12:18:23  profilanswer
 

Kurt Haribo a écrit :


 
ESt ce que il y a quelq'un qui connaissent un minimum sql ?


Aurai tu tendance à prendre les gens pour des nouilles ?


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°318220
Arrakis99
Posté le 26-02-2003 à 12:19:08  profilanswer
 

sinon tu peux faire une intersection avec un select qui prenne les n° avec un 'where truc = A' INTERSECT un autre select qui prenne les n° avec un 'where truc = B'
 
Tu n'aura comme résultat que les n° qui respectent les deux conditions.


Message édité par Arrakis99 le 26-02-2003 à 12:21:21
n°318221
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-02-2003 à 12:19:22  profilanswer
 

Kurt Haribo a écrit :


fo m'expliquer comment une instance d'un attribut peut posséder deux valeur ?


'tain, c'est c'que dit tom, c'est un OR. Teste et pis vala. Ca fait 3 plombes que t'es sur une requête de base ; le jour où t'auras des join, tu vas en chier :sarcastic:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°318222
Profil sup​primé
Posté le 26-02-2003 à 12:19:34  answer
 

tomlameche a écrit :


Aurai tu tendance à prendre les gens pour des nouilles ?


 
nan, mais si c'est pour répondre truc ='A' AND truc='B' ...

n°318230
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-02-2003 à 12:23:53  profilanswer
 

Kurt Haribo a écrit :


nan, mais si c'est pour répondre truc ='A' AND truc='B' ...


 [:miracle] Nan mais attends, t'as vu le truc tout con que tu demandes ? Tu t'attendais à quoi, à une requête de 6 lignes ? Ce genre de question, il suffit d'un where et c'est basta. Commence par mater un tutorial SQL, tiens.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°318232
Profil sup​primé
Posté le 26-02-2003 à 12:27:22  answer
 

arrakis99 a écrit :

sinon tu peux faire une intersection avec un select qui prenne les n° avec un 'where truc = A' INTERSECT un autre select qui prenne les n° avec un 'where truc = B'
 
Tu n'aura comme résultat que les n° qui respectent les deux conditions.


 
Merci, c'etait ca que je cherchai ! :jap:

n°318233
Profil sup​primé
Posté le 26-02-2003 à 12:28:57  answer
 

Taiche a écrit :


'tain, c'est c'que dit tom, c'est un OR. Teste et pis vala. Ca fait 3 plombes que t'es sur une requête de base ; le jour où t'auras des join, tu vas en chier :sarcastic:  


 
avec un OR comment veux tu que ca marche ? il va me sortir tous les n° pour lequel truc aurait comme valeur B ou A !
 
 

n°318235
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-02-2003 à 12:31:52  profilanswer
 

Kurt Haribo a écrit :


avec un OR comment veux tu que ca marche ? il va me sortir tous les n° pour lequel truc aurait comme valeur B ou A !


Bin c'est pas c'que tu veux ? :??:  

Citation :

je voudrais récupérer le n° pour lequel l'ensemble des attributs 'truc' est égale à un ensemble de valeur.


Ch'ais pas hein, moi c'est c'que j'comprends...


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°318245
Profil sup​primé
Posté le 26-02-2003 à 12:43:15  answer
 

Taiche a écrit :


Bin c'est pas c'que tu veux ? :??:  

Citation :

je voudrais récupérer le n° pour lequel l'ensemble des attributs 'truc' est égale à un ensemble de valeur.


Ch'ais pas hein, moi c'est c'que j'comprends...


 
ben non, mais c pas grave avec INTERSECT ca devrai le faire !
 
désolé, de m'être énervé, je croyais que vous me foutiez de ma tronche avec truc='B' or/and truc='A'

n°318253
gloop
Posté le 26-02-2003 à 12:53:30  profilanswer
 

Kurt Haribo a écrit :


 
ben non, mais c pas grave avec INTERSECT ca devrai le faire !
 
désolé, de m'être énervé, je croyais que vous me foutiez de ma tronche avec truc='B' or/and truc='A'


tu t'attendais à quoi avec ta question de base ?
en plus faut comprendre ta question et tu vas gueuler sur ceux qui ont accepté de t'aider. faut pas non plus t'attendre à ce qu'on soit tous sympa avec toi apres ce genre de conneries  :pfff:

n°318256
urd-sama
waste of space
Posté le 26-02-2003 à 12:56:48  profilanswer
 

oh arretez de vous chamailler  :o  
kurt a mal posé sa question mais vous pourriez éviter de se fouttre de sa tronche non plus

n°318257
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 26-02-2003 à 12:58:43  profilanswer
 

gloop a écrit :


tu t'attendais à quoi avec ta question de base ?
en plus faut comprendre ta question et tu vas gueuler sur ceux qui ont accepté de t'aider. faut pas non plus t'attendre à ce qu'on soit tous sympa avec toi apres ce genre de conneries  :pfff:  


C'est bon, il s'est excusé :)
Kurt : j'vois toujours pas ce que tu veux faire mais est-ce que c'est pas un truc du genre "je recherche tous les numéros qui ont pour truc A puis parmi ces numéros je cherche ceux qui ont aussi pour truc B" ?


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°318261
Profil sup​primé
Posté le 26-02-2003 à 13:04:40  answer
 

Taiche a écrit :


C'est bon, il s'est excusé :)
Kurt : j'vois toujours pas ce que tu veux faire mais est-ce que c'est pas un truc du genre "je recherche tous les numéros qui ont pour truc A puis parmi ces numéros je cherche ceux qui ont aussi pour truc B" ?


 
oui c ca ! et pis comme sql c loin pour moua, je savais plus si il existait une instruction particulière, j'avais pas envie de m'amuser avec des teta-jointure.

n°318263
Profil sup​primé
Posté le 26-02-2003 à 13:05:52  answer
 

gloop a écrit :


tu t'attendais à quoi avec ta question de base ?
en plus faut comprendre ta question et tu vas gueuler sur ceux qui ont accepté de t'aider. faut pas non plus t'attendre à ce qu'on soit tous sympa avec toi apres ce genre de conneries  :pfff:  


 
c bon, je me suis excusé !

n°318268
tomlameche
Et pourquoi pas ?
Posté le 26-02-2003 à 13:19:27  profilanswer
 

Kurt Haribo a écrit :


 
oui c ca ! et pis comme sql c loin pour moua, je savais plus si il existait une instruction particulière, j'avais pas envie de m'amuser avec des teta-jointure.


Je n'avais pas compris ta question.
tu as une autre solution à mon avis plus simple ( parceque je suis pas sûr du tout que INTERSECT fait partie du standard SQL, et donc ne doit pas être supporté par tous les SGBD ):
select distinct numero
from ma_table t1, ma_table t2
where t1.truc = 'A' and t2.truc = 'B' and
 t1.numero = t2.numero


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°318276
Profil sup​primé
Posté le 26-02-2003 à 13:31:12  answer
 

tomlameche a écrit :


Je n'avais pas compris ta question.
tu as une autre solution à mon avis plus simple ( parceque je suis pas sûr du tout que INTERSECT fait partie du standard SQL, et donc ne doit pas être supporté par tous les SGBD ):
select distinct numero
from ma_table t1, ma_table t2
where t1.truc = 'A' and t2.truc = 'B' and
 t1.numero = t2.numero


 
justement INTERSECT ne fait pas parti du standart SQL, mais c pas grave ca devrait marché
 
et j'avais pensé a faire une teta-jointure, mais ca devient lourd si tu as a comparer 30 'trucs'

n°318362
BifaceMcLe​OD
The HighGlandeur
Posté le 26-02-2003 à 14:37:25  profilanswer
 

tomlameche a écrit :


select distinct numero
from ma_table t1, ma_table t2
where t1.truc = 'A' and t2.truc = 'B' and
 t1.numero = t2.numero


Préfère un GROUP BY au SELECT DISTINCT en SQL :

   SELECT numero
      FROM ma_table t1,
           ma_table t2
     WHERE t1.truc = 'A' AND
           t2.truc = 'B' AND
           t1.numero = t2.numero
  GROUP BY numero


Message édité par BifaceMcLeOD le 26-02-2003 à 14:38:05
n°318407
tomlameche
Et pourquoi pas ?
Posté le 26-02-2003 à 15:03:36  profilanswer
 

BifaceMcLeOD a écrit :


Préfère un GROUP BY au SELECT DISTINCT en SQL :

   SELECT numero
      FROM ma_table t1,
           ma_table t2
     WHERE t1.truc = 'A' AND
           t2.truc = 'B' AND
           t1.numero = t2.numero
  GROUP BY numero




Je voudrai pas rentrer dans un débat de type Troll, mais pourquoi donc ?

Citation :

explain plan for select distinct machin from truc;
SELECT STATEMENT Optimizer=CHOOSE (Cost=96 Card=3166 Bytes=22225)
( etc ... )


à comparer à :

Citation :

explain plan for select machin from truc group by machin;
SELECT STATEMENT Optimizer=CHOOSE (Cost=111 Card=3166 Bytes=44450)


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°318444
BifaceMcLe​OD
The HighGlandeur
Posté le 26-02-2003 à 15:32:05  profilanswer
 

Bon ben ça dépend des SGBD alors. Certains optimisent mieux le GROUP BY, d'autres mieux le DISTINCT.
Mais il me semblait que pour des gros volumes de données, le DISTINCT, impliquant un tri, était plus coûteux en temps. Me trompé-je ?


Message édité par BifaceMcLeOD le 26-02-2003 à 15:32:36
n°318452
tomlameche
Et pourquoi pas ?
Posté le 26-02-2003 à 15:37:59  profilanswer
 

BifaceMcLeOD a écrit :

Bon ben ça dépend des SGBD alors. Certains optimisent mieux le GROUP BY, d'autres mieux le DISTINCT.
Mais il me semblait que pour des gros volumes de données, le DISTINCT, impliquant un tri, était plus coûteux en temps. Me trompé-je ?


Ben je sais pas en fait ( je rappelle que je ne suis pas vraiment informaticien et mes connaissances el la matière ne sont pas énormes ! ), mais a priori, pour faire un GROUP BY, faut bien faire un tri aussi de toute façon, ce qui va différer c'est la méthode.
Je suppose qu'en fait, ça va dépendre du nombre de valeur effectivement distincte que tu as.


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°318475
BifaceMcLe​OD
The HighGlandeur
Posté le 26-02-2003 à 15:55:54  profilanswer
 

Oui, mais pour autant que je sache, le GROUP BY va faire un tri pendant la construction de l'ensemble résultat, et non pas une fois que l'ensemble résultat est entièrement construit. C'est pour cela qu'il est censé être plus efficace en général.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] une pitite requete ....

 

Sujets relatifs
[VB] Vérification d'écriture existante avant enregistrement avec SQL[SQL] ecrire un path ds une table Pages\erreur.htm
Servlet/JSP : limitations du nombre d'instances attachées à 1 requete[ACCESS] formatage d une date dans une requete ajout
[SQL]Requete qui doit pas etre dur a faire mais euh... j'arrive pas :p[MySQL] Pb de tri avec une requete.
[PHP] Tronquer un fichier SQL[Concours] Votre Requête MySQL la plus complexe
[SQL]Preference MAX(id) ou Table 
Plus de sujets relatifs à : [SQL] une pitite requete ....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR