有了这个表(对不起,不能似乎在这里得到一个体面的布局):整蛊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 *
我正在使用的表作为过滤器/屏蔽该行选择其他行。
所以,用户在已经做出了选择行有:
PD Text
-------------
10 Aproducer
20 A
我现在想找出什么行与PD = 30适合那些以前的选择:
PD = 10,文本= Aproducer给出了Mask_Producer必须是“Aprod”,(Mask_Dep和Mask_Diam被允许为星星的任何东西)
PD = 20,Text = A给出Mask_Producer必须是“Aprod”并且Mask_Dep必须是10或20和Mask_Diam必须是30或40(或星号)
我希望结果是上表中的第6行和第7行。
然后想象与2000rows和20个Mask_xx领域这个例子....
我想SQL像IN,LEFT JOIN,连接和临时表要做到这一点,但我想我可能太复杂的东西很多....
使数据代码(4位),所以在等宽它至少呈现。 – 2010-01-19 22:59:39
感谢您不使用标签 - 降价语法:http://stackoverflow.com/editing-help – 2010-01-19 23:00:16
我不明白你试图在你的查询中捕获什么规则。例如,为什么第6行和第7行是所需的输出?我没有看到这种模式。 – recursive 2010-01-19 23:03:03