De ma compréhension, dans des œuvres telles que ceci: est l'équivalent de: p> Je me demande s'il y a une Fonction SQL qui fonctionne comme dans, mais utilise et à la place de ou pour comparer à un tableau. Quelque chose qui élargirait à ceci: p> pas que ce soit nécessaire, mais pour le contexte, je crée simplement une liste de tri pour certains résultats de recherche qui sont peuplés sur une page PHP via jQuery. Je peux faire ce dont j'ai besoin avec PHP, je vais simplement créer la requête de manière dynamique en fonction des options sélectionnées par l'utilisateur, mais je préfère utiliser une fonction SQL intelligente si possible. P> *** EDIT : Merci à tous pour l'aide. J'ai expliqué mon problème très mal et vous avez toujours pu le résoudre, ce que j'apprécie. J'ai constaté que quelqu'un d'autre avait posé cette question plus éloquemment et a reçu une réponse que je peux utiliser: p> Y a-t-il quelque chose dans MySQL comme dans, mais qui utilise et au lieu de ou? P> J'essaie de comprendre comment accepter une réponse et fermer cela, mais j'ai un peu de problèmes ... p> p>
3 Réponses :
Vous ne pouvez pas éventuellement faire cela, la condition retourne toujours en ayant une condition faux code> car une ligne ne peut avoir qu'une seule valeur sur sa colonne, la voie alternative de faire ceci est en regroupant le résultat, ex. p> ayant compté (colname distinct) = 3 code>, cela signifie que l'instance de Un enregistrement doit être égal au nombre total de paramètres fournis sur dans la clause code>. p> p>
Bonjour tout le monde, merci beaucoup pour la réponse rapide. Il n'y a pas de problème avec le code que j'utilise, je suis juste un idiot pour expliquer les choses. J'ai trouvé une autre question était une autre question posée / répondit mieux que je pouvais: Stackoverflow.com/questions/2860374/...
Vous auriez besoin de compter (produit distinct) code>
@Martinsmith c'est aussi correct si le nom de Tableau permet de faire dupliquer le produit produit dont la clé primaire est incrémentée automatique. En fait, cela dépend toujours de chaque situation. Quoi qu'il en soit, merci pour le commentaire.Much apprécié :)
Il existe deux façons de mettre en œuvre une division relationnelle, l'une est la réponse ci-dessus et l'autre via Joinines, qui est expliquée ici . Selon Ce test présenté ici , la mise en œuvre de la participation a une meilleure performance et est la plus rapide des deux implémentations.
Comme écrit, votre requête ne produira aucune lignée. Il n'est pas possible que la productide dans une rangée soit égale à 1 et 2 en même temps.
Vous recherchez probablement un groupe em> des lignes contenant ces trois produits. Dites que vous voulez trouver des commandes qui ont tous les trois produits. Vous pouvez utiliser quelque chose comme: p> Le groupe en passant par la clause trouvera des commandes où les trois produits sont présents. P> P>
SELECT orderid FROM tableName WHERE productID IN (1, 2, 3) GROUP BY orderid HAVING COUNT(DISTINCT productID) = 3 --this number must match the number of unique IDs in the IN clause
ProductID code> ne peut pas être 1,2 et 3 en une seule ligne. Je comprends ce que tu veux cependant. Vous avez besoin d'un Divison relationnelle Query.Cette requête n'a pas de sens, d'accord avec @martinsmith
Si vous faites
$ arrayname = tableau (1, 2, 3); code>, puis"" Sélectionnez * à partir du nom de TableDId dans ($ ArrayName) "; code> dans php, qui semble La langue utilisée, vous obtiendriez la requête"Sélectionnez * dans le nom de Tableau dans lequel Producteur In (Array)"; Code>Dupliquer possible Stackoverflow.com/Questtions/4751361/...
en double possible de est Il y a quelque chose dans MySQL comme dans, mais qui utilise et au lieu de ou?
@Bidbits Cliquez sur la coche sous la bonne réponse (à gauche où le grand numéro est avec deux flèches)
Merci, je l'ai eu, limite-moi de en choisir un pendant une certaine période. Je suis émerveillé à la rapidité avec laquelle tout le monde a répondu, très impressionné.