我想獲取滿足所有n約束的實體我給他們。在MySQL中設置交叉點:一個乾淨的方式
或操作可以由UNION執行。如果MySQL支持INTERSECT,我不會問這個問題。
我有表主題中的實體及其在* subject_attribute *中的屬性。
我看到的唯一方法操作爲嵌套查詢:
SELECT id
FROM subject_attribute
WHERE attribute = 'des_sen'
AND numerical_value >= 2.0
AND id
IN (
SELECT id
FROM subject_attribute
WHERE attribute = 'tough'
AND numerical_value >= 3.5
)
這意味着:「獲取滿足最低的子查詢實體,然後淘汰那些誰滿足更高的查詢」等。
rows(condn x) AND rows(condn y) AND rows(cond z) <--ideal
rows(condn x:rows(cond y:rows(cond z))) <-- I am stuck here
我更喜歡直線鏈接的條件,而不是嵌套他們,因爲我想
- 撰寫查詢編程
- 調試他們更好地
我的問題:鑑於個人查詢,我如何與他們在MySQL乾淨和線性?
不通過使用嵌套查詢或存儲過程。
請注意關於個人查詢的部分。
更新:喬納森·萊弗勒回答是正確的。馬克班尼斯特的答案非常簡單(但我做出了一些糟糕的決定)。如果您仍然對加入感到困惑,請參閱我的回答。
請問你可以在查詢中包含表結構嗎? – 2011-12-29 10:09:36