Avoir ce tableau (désolé, cant semblent obtenir un aménagement correct ici):problème Tricky SQL SELECT (MySQL)
PD Header Text Mask_Producer Mask_Dep Mask_Diam
----------------------------------------------------------------------------------------------
10 Producer Aproducer Aprod * *
10 Producer Bproducer Bprod * *
20 Diam A Aprod 10 30
20 Diam A Aprod 20 40
20 Diam B Aprod 10 40
30 Dep 10 Aprod 10 *
30 Dep 20 Aprod 20 *
30 Dep 30 Aprod 30 *
20 Diam A Bprod 20 40
30 Dep 10 Bprod 10 *
J'utilise les lignes de la table comme un filtre/masque pour sélectionner d'autres lignes .
Ainsi, l'utilisateur ayant déjà fait une sélection de lignes avec:
PD Text
-------------
10 Aproducer
20 A
Je voudrais maintenant savoir ce que les lignes avec PD = 30 correspond aux choix précédents:
PD = 10, Texte = Aproducer indique que Mask_Producer doit être "Aprod", (Mask_Dep et Mask_Diam peuvent être n'importe quoi par les étoiles)
PD = 20, Texte = A indique que Mask_Producer doit être "Aprod" et Mask_Dep doit être 10 ou 20 et Mask_Diam doit être 30 ou 40 (ou étoile)
Je veux que le résultat soit les lignes 6 et 7 du tableau ci-dessus.
Alors imaginez cet exemple avec 2000rows et 20 champs Mask_xx ....
Je pense SQL comme IN, LEFT JOIN, JOIN et tables temporaires pour ce faire, mais je pense que je suis trop compliquer les choses beaucoup ....
rendre le code de données, (4 places) donc au moins en rend monospaces. –
Merci de ne pas utiliser les onglets - la syntaxe markdown: http://stackoverflow.com/editing-help –
Je ne comprends pas quelles sont les règles que vous essayez de capturer dans votre requête. Par exemple, pourquoi les lignes 6 et 7 devraient-elles être la sortie désirée? Je ne vois pas le motif. – recursive