有了這個表(對不起,不能似乎在這裏得到一個體面的佈局):整蠱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