Moteur de recherche SQL, compliqué !
Résolu
Robert
-
Robert -
Robert -
Bonjour,
Je viens vers vous, car j'ai rencontré un problème qui ne cesse de me casser la tête, je vais essayer de vous expliquer le principe, peut être que quelqu'un a déjà rencontré le même problème.
Je possède deux tables : Annonces et champs
Annonces contient : id,Titre,description
Champs contient : id,champ,id_annonce,valeur
Les deux sont liées par id = id_annonce
Chaque annonce peut avoir plusieurs champs et chaque champ a une valeur.
Exemple :
Table Annonces :
{
'1','Première annonce','une description de l'annonce'
'2','Deuxième annonce','une description de l'annonce2'
'3','Troisième annonce','une description de l'annonce3'
}
et Table Champs:
{
'1','2','2','25'
'2','2','3','40'
'3','1','2','225'
'4','3','1','89'
'4','1','3','52'
'4','2','1','193'
'4','3','2','193'
}
Supposons donc qu'on essaie d'afficher toutes les annonces qui ont le champ 2 d'une valeur sup à 20
Cette requête ne pose pas de problème elle est facile (je l'écris pour vous donner une idée plus claire) :
SELECT DISTINCT A.id, 'Titre' , 'description'
FROM Champs C
INNER JOIN Annonces A ON C.id_annonce= A.id
WHERE (
C.champ=2
AND C.valeur > 20
)
Le problème c'est qu'on j'essaie d'afficher toutes les annonces qui ont deux champs ou plus.
par exemple je veux afficher toutes les annonces qui ont deux champs, le champ 2 d'une valeur supérieur à 20 et le champ 1 d'une valeur supérieur à 70, d'après mon exemple ça devrait m'afficher (id = 2) mais sauf que je ne sais pas comment le faire en SQL si vous pouvez bien m'aider.
Cordialement.
Je viens vers vous, car j'ai rencontré un problème qui ne cesse de me casser la tête, je vais essayer de vous expliquer le principe, peut être que quelqu'un a déjà rencontré le même problème.
Je possède deux tables : Annonces et champs
Annonces contient : id,Titre,description
Champs contient : id,champ,id_annonce,valeur
Les deux sont liées par id = id_annonce
Chaque annonce peut avoir plusieurs champs et chaque champ a une valeur.
Exemple :
Table Annonces :
{
'1','Première annonce','une description de l'annonce'
'2','Deuxième annonce','une description de l'annonce2'
'3','Troisième annonce','une description de l'annonce3'
}
et Table Champs:
{
'1','2','2','25'
'2','2','3','40'
'3','1','2','225'
'4','3','1','89'
'4','1','3','52'
'4','2','1','193'
'4','3','2','193'
}
Supposons donc qu'on essaie d'afficher toutes les annonces qui ont le champ 2 d'une valeur sup à 20
Cette requête ne pose pas de problème elle est facile (je l'écris pour vous donner une idée plus claire) :
SELECT DISTINCT A.id, 'Titre' , 'description'
FROM Champs C
INNER JOIN Annonces A ON C.id_annonce= A.id
WHERE (
C.champ=2
AND C.valeur > 20
)
Le problème c'est qu'on j'essaie d'afficher toutes les annonces qui ont deux champs ou plus.
par exemple je veux afficher toutes les annonces qui ont deux champs, le champ 2 d'une valeur supérieur à 20 et le champ 1 d'une valeur supérieur à 70, d'après mon exemple ça devrait m'afficher (id = 2) mais sauf que je ne sais pas comment le faire en SQL si vous pouvez bien m'aider.
Cordialement.
A voir également:
- Moteur de recherche SQL, compliqué !
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Virus