Ce sont des versions simplifiées de trois tables je:SQL combiner deux requêtes en une seule
Books
BookID (PK)
AuthorID
...
Purchases
PurchaseID (PK)
CustomerID
BookID
Date
...
Authors
AuthorID (PK)
Name
...
J'espère que la connexion entre les tables est explicite, mais je vais donner une brève explication: Il y a une relation de un à plusieurs entre les auteurs et les livres et entre les livres et les achats.
Maintenant je veux sélectionner un livre parmi les livres qui sont écrits par un auteur donné et qui ont été achetés plus de X fois.
Je peux interroger les livres pour un auteur donné:
SELECT * FROM Books where AuthorID = 'some author';
Mais je veux que les livres qui ont été achetés plus de X fois.
SELECT BookID from Purchases WHERE ...(where the occurance of BookID>X)
Je ne sais pas comment compléter cette requête, ou même si c'est possible. Et puis je veux le combiner avec la première requête, en utilisant un INNER JOIN, si possible.
Je suis prêt à accepter que la conception est défectueuse. Peut-être que la table des achats devrait simplement avoir BookIDs comme PK et avoir un champ pour le nombre d'achats.
Votre conception est pas vicié. Ce serait si vous avez modifié la table des achats comme vous l'avez mentionné. –