我本質上是一個表:SQL SELECT拼圖:清除患兒家長時過濾掉
name has_children parent_id row_id values0.....valuesn
parent 1 1 1
children 0 1 2
children 0 1 3
parent 0 4 4
parent 1 5 5
children 0 5 6
children 0 5 7
爲孩子們的值可以比父的值不同。 我想要一些選擇/連接,將過濾值列上的表(即> 10),並將返回父(即使過濾器爲假),如果其中一個孩子是真的過濾器。
acceptable return:
parent=true all children=false, return just parent
parent=false >=1 children=true, return parent and all non-filtered child
我敢肯定這是以前想過但我沒有最隱祕的想法如何短語的問題找到解決方案。
如果它是不可能的,但可以用一個額外的列來完成,有可能是一個方法,我可以生成該專欄,所以我很歡迎評論! – knicnak32 2011-02-24 23:12:26
您使用的是什麼RDBMS? – Donnie 2011-02-24 23:14:51
另外,你最後的兩個回報條件是相互矛盾的。我想像一個錯字,但我不想猜測你的意思。 – Donnie 2011-02-24 23:15:47