Edit:
Merci tout. Cela aurait dû être CustomerID, non productible, reliant ces deux tables. Même avec cela, la requête n'a pas renvoyé d'identifiants de clients en raison de ce que dit Squirrel; C'était une mauvaise requête. J'ai trouvé un meilleur succès en utilisant la syntaxe suivante: p> J'essaie de retourner Erreur SQL [207] [S0001]: Nom de colonne non valide 'Producteur' P>
blockQuote> Ceci est mon bloc de code: p> toute aide de correction de l'erreur syntaxique serait appréciée. Merci! P> p> CustomerID code> S qui ont acheté deux éléments avec un
spécifique ProductID code> S (710 et 715) - mais n'a pas acheté 716 - dans la colonne
productide code> d'une deuxième table. J'essaie de jouer cela comme une sous-requête, mais je reçois une erreur p>
3 Réponses :
Essayez quelque chose comme ceci: exécutez d'abord les instructions de sous-sélection d'abord pour obtenir la syntaxe à droite pour cette pièce, pour votre moteur SQL. Par exemple, exécutez cette requête SQL d'abord: p> et lorsque vous avez la syntaxe valide et les résultats valides, vous pouvez utiliser ce sélection comme une instruction SOUS-SELECT.
Idem pour le sous-sélection "non in". Exécutez-le et obtenez des résultats valides puis inclure-le entre parenthèses comme sous-sélection. P> p>
Je vais essayer cela comme une alternative. Merci!
C'est ma prise sur ceci:
Je crois que ProductID est en salopeOrderDetail mais je ne pense pas que le produit devrait être dans la table des clients. Je crois que la clientèle devrait être le lien entre les deux tables si le modèle est effectué à droite
Non, cela n'a pas fonctionné. Il n'a pas renvoyé aucun ID de client. J'ai créé maintenant le code, que j'ai posté sous mon édition en haut. Celui-là semble faire l'affaire! Merci quand même!
Ok, je vois, vous avez supprimé la contrainte sur le produit 716.
OK sur la question, mais à l'avenir, il est bon de fournir des échantillons de données, des colonnes pour obtenir le point de vue. Vous ne montrez pas comment une commande de vente se joint au détail de la commande de vente. Cela étant dit, je vais fournir une supposition éduquée à ce que vous avez.
Je ferais une interrogation une fois et que vous obtenez un compte par produit qualifié ... puis appliquez-le d'avoir. Il est possible pour une personne d'avoir plusieurs commandes et que chaque produit pourrait être sur un ordre différent (à moins que tout ce que vous vous souciez du même ordre, ce soit légèrement différent). P>
select SO.CustomerID -- at THIS point, I only care did the person have any of the products max( case when SOD.ProductID = 710 then 1 else 0 end ) as HasProduct1, max( case when SOD.ProductID = 715 then 1 else 0 end ) as HasProduct2, max( case when SOD.ProductID = 716 then 1 else 0 end ) as HasProduct3 from Sales.SalesOrder SO JOIN Sales.SalesOrderDetail SOD on SO.SalesOrderID = SOD.SalesOrderID group by SO.CustomerID having -- NOW, we can apply the product 1 & 2 purchased, but NOT product 3 max( case when SOD.ProductID = 710 then 1 else 0 end ) = 1 AND max( case when SOD.ProductID = 715 then 1 else 0 end ) = 1 AND max( case when SOD.ProductID = 716 then 1 else 0 end ) = 0
Approche intéressante. J'aime ça. Merci!
Pouvons-nous voir le schéma des tables Sales.Customer et vente.SalesAserDeTetail?
Essayez quelque chose comme ceci: Sélectionnez SC.Customéride de Sales.Customer SC Où Producteur dans (Sélectionnez Producteur à partir de Sales.SalesArtionDetail SOD où Sod.Productid in (710, 715)) et ProductId non dans (Sélectionnez ProductId de Sales.SalesArserDeTetail de SOD .Productid = 716)
Êtes-vous sûr que la colonne
ProductID CODE> est dans
SometchSOrderDetail CODE> TABLE?
@Abdelrahmangarah, je crois que ProductID est en salopeOrderDetail mais je ne pense pas que le produit devrait être dans la table des clients. Je crois que la clientèle devrait être le lien entre les deux tables si le modèle est fait correctement
Votre premier 2
où code> condition n'a pas de sens. Effectivement, vous dites
où productid in (710) et productid in (715) code> et le résultat est
faux code> il n'y aura pas de
ProductID code> qui peut satisfaire ces 2 conditions. Vous voudrez peut-être jeter un oeil à
existant () code>
@Zip - Merci pour la prise. Vous êtes correct que l'ID de produit n'est pas dans la table du client. ID client est la colonne de liaison. Cependant, il ne renvoie aucun résultat. Je crois que l'écureuil était correct - j'ai une mauvaise requête. J'ai essayé une méthode différente et crois que j'ai atteint le résultat souhaité.
J'ai ajouté une requête comme une réponse, avez-vous essayé?