Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Requette SQL ou Algorythme ? [ Base de données / SQL ] (baratribord)

lundi 19 mai 2008 à 13:04:00 | Requette SQL ou Algorythme ?

baratribord

Bonjour,

Mis à part le béaba en terme de requetage je suis un pur novice.
Je voudrais mettre en relation différents champs d'une même table sur des enregistrement différents exemple :


Enr1. champ1 = "toto", champ2 = "tutu", champ3 = "titi", champ4 = "tata"
Enr2. champ1 = "titi", champ2 = "tata", champ3 = "toto", champ4 = "tutu"
Enr3. champ1 = "tata", champ2 = "titi", champ3 = "tutu", champ4 = "toto"
Enr4. champ1 = "tata", champ2 = "titi", champ3 = "toto", champ4 = "tutu"

Je voudrai dans un premier temps ne concerver que les enregistrements dont le champ2 est égal au champ3 puis le champ3 égal au champs2 mais pas sur un même enregistrement.

Dans mon cas la requete doit me retourner les enregistrements 1 et 3.

Est-ce possible avec le requetage SQL ou dois-je écrire un algo. ?

Merci pour vos pistes et indices car j'ai bien du mal à trouver mon bonheur...

Bara.

lundi 19 mai 2008 à 14:16:25 | Re : Requette SQL ou Algorythme ?

Renfield

Administrateur CodeS-SourceS
tentes ce genre de choses :

-----------

SELECT T1.*, T2.*  FROM `Table` T1, `Table` T2  WHERE T1.`Champ1`=T2.`Champ3`

---------

SELECT * FROM `Table` WHERE `Champ1`='tutu'
UNION
SELECT * FROM `Table` WHERE `Champ3`='tutu'


lundi 19 mai 2008 à 15:14:00 | Re : Requette SQL ou Algorythme ?

baratribord

Merci pour le mot clé, je précise que je ne connais pas à l'avance les valeurs de mes champ1 et 3.
Je vais essayer quelque chose du genre qui fonctionne pas mais je vais chercher :

SELECT * FROM 'Table' WHERE 'Champ1' = UNION SELECT * FROM 'Table' ''Champ2'

C'est pas terrible mon machin...

lundi 19 mai 2008 à 15:17:26 | Re : Requette SQL ou Algorythme ?

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
ce serait plutot :

SELECT * FROM 'Table' WHERE 'Champ1' IN (SELECT DISTINCT `Champ3` FROM 'Table')

lundi 19 mai 2008 à 16:08:19 | Re : Requette SQL ou Algorythme ?

baratribord

Ha oui ! Pas mal.
Merci. Ca me sort également les enregistrements pour lesquels les champs1 et 3 sont vides pour une même ligne, mais cela n'est pas génant puisque l'interêt c'est qu'il soient différents.

A partir des éléments que tu m'as fournis je devrai être en mesure de réaliser le test inverse.

lundi 19 mai 2008 à 16:21:48 | Re : Requette SQL ou Algorythme ?
lundi 19 mai 2008 à 16:58:02 | Re : Requette SQL ou Algorythme ?

baratribord

Heu non.
Je précise le sens de ma requete :

J'ai des utilisateurs qui indiquent une ville de départ et une ville d'arrivée.
Il faut que je selectionne les utilisateurs pour lesquelles la ville de départ corresponde à la ville d'arrivée et vice-versa :
ex :

user1 ville_dep = paris ville_arr= lyon
user2 ville_dep = lyon   ville_arr= marseille
user3 ville_dep = lyon   ville_arr= paris
....

Les utilisateurs 1 et 3 vont faire partie de ma selection puisque la ville de départ de l'un correspond à la ville d'arrivée de l'autre et vice-versa.

Voili voilou
Merci



Cette discussion est classé dans : toto, tutu, champ1, champ2, champ3


Répondre à ce message

Sujets en rapport avec ce message

SQL Regroupement [ par zeprogrameur ] Salut à tous les développeurs!!!Quelqu'un sait-il comment effectuer (en SQL) une concaténation das un regroupement.exemple: 3 champsCHAMP1 CHAMP2 lire la 3eme colonne d'une combo boxe en code [ par muzik ] bonjour,je suis un newb de l'accesset j'aimerai lire la 3 ème colonne de la selection d'une combobox.par excombobox data : 1-toto-toto@coucou.com2-tit l'utilistion d'une fonction dans une requête [ par Marie15 ] Bonjour,j'ai un petit problème avec ma requête.En effet dans celle-ci je doit utiliser une fonction 'f' de cette facon:select champ1,champ2,f(champ1,c choix d'impression ? ?? [ par Gdal ] j'ai + une table."Général"[Champ1] [Champ2] [Champ3] [Champ4] [Champ5] [Champ6] + deux formulaires.un avec saisie des valeurs à mettre dans le table. CHoix d'impression ???? [ par Gdal ] SAlut,j'ai + une table."Général"[Champ1] [Champ2] [Champ3] [Champ4] [Champ5] [Champ6]+ deux formulaires.un avec saisie des valeurs à mettre dans le ta somme d'un champ calculé [ par acorna ] Hello ,voilà, dans un de mes états sous access, j'ai un champ calculé [Champ1]*[Champ2], dans la partie détail.En pied de page,il me faudrait calcule CONCATENATION DE CHAINES DANS ACCESS [ par code9 ] Est-il possible de formater du texte dans la concaténation de chaînes?Exemple:=[champ1] & " / " & [champ2] & [champ3]1. lors de l'affichage de l'état, Parcourir une BD (3): optimisation [ par ] Bonjour à tous, hé oui, je reviens encore avec le même sujet mais un problème différent.Je dois repèrer une phrase comme celle-ci:"Bonjour à tout le m Access et bind de combo box [ par ava0275 ] Bonjour a tous ,je crée une table avec des infos : Table1 <FONT style requête sql [ par GBadry ] Salut les amis,une petite question simple sur les requêtes sql. je voudrai savoir quelle est la syntaxe d'une requete qui change la valeur d'un champ


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.