Requête SQL (MySQL) sur 3 tables

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 !
Configuration: Windows Vista
Internet Explorer 7.0

1 réponse

  1. 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)