Requête SQL (MySQL) sur 3 tables

Fermé
steve.bru Messages postés 15 Date d'inscription mardi 7 novembre 2006 Statut Membre Dernière intervention 11 juin 2008 - 10 juin 2008 à 09:09
ortys4 Messages postés 254 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 26 septembre 2010 - 10 juin 2008 à 09:17
Bonjour,
J'ai un souci.. je suis pas nul en SQL, par contre, depuis hier j'ai un souci pour faire une requête sur 3 tables..
C'est les suivantes :

ACTION
idAction (PK)
• idSemaine (FK)
• noSemaineCreation
• anneeCreation
• idArticle (FK)
• prixNormal
• prixAction
• nbPcKgParStandard
• emplacement
• standardCommande
• remarque

ARTICLE
• idArticle (PK)
noArticle
libelle
• boss


SUIVIACTION
• idAction (PK)
• idEmploye (FK)
• ...

Je voudrais pouvoir fiare une liste déroulante qui afficherait le 'NoArticle' et le 'libelle' des produits concernés par une action, que la valeur de l'élément séléctionné dans la liste déroulante soit 'idAction' mais par contre, cela doit concerner uniquement les 'idAction' qui ne sont pas dans SUIVIACTION.

J'ai déjà essayé les requêtes suivantes, mais aucune ne fonctionne (correctement). Pouvez-vous m'aider ?

SELECT idAction, noArticle, libelle FROM action, article WHERE
(action.idArticle in(SELECT idArticle FROM article))
and
(action.idSemaine in(SELECT idSemaine FROM semaine WHERE noSemaine = 25 and annee = 2008))
order by noArticle

SELECT noArticle, libelle, idAction FROM article, action
WHERE article.idArticle in(
SELECT action.idArticle FROM action WHERE noSemaineCreation =25 and anneeCreation = 2008
and idAction not in(
SELECT idAction from suiviaction))

MERCI !
A voir également:

1 réponse

ortys4 Messages postés 254 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 26 septembre 2010 51
10 juin 2008 à 09:17
Salut, je pense que tu fais trop de "in" dans la jointure, essaye ça :

SELECT noArticle, libelle, idAction
FROM article, action
WHERE
action.idArticle = article.idArticle
and action.idAction not in(SELECT idAction from suiviaction)
0